重新设计了标签变量系统

This commit is contained in:
2025-03-20 23:51:17 +08:00
parent 89a9ef54f0
commit df07efe5b6
23 changed files with 3178 additions and 789 deletions

View File

@@ -417,10 +417,6 @@ namespace CapMachine.Wpf.Services
#endregion
private Random Random = new Random();
private int Add = 1;
Stopwatch stopwatch = new Stopwatch();
@@ -439,7 +435,7 @@ namespace CapMachine.Wpf.Services
//CycleTimer.Stop(); //先关闭定时器
var DataInfo = MachineRtDataService.TagManger.DicTags
.ToDictionary(kvp => kvp.Key, kvp => (object)kvp.Value.EngPvValue);
.ToDictionary(kvp => kvp.Key, kvp => (object)MachineRtDataService.TagManger.TryGetRecordPVValue(kvp.Value.Name));
DataInfo.Add("创建时间", DateTime.Now);
var RecordData = new RecordChannelData()

File diff suppressed because it is too large Load Diff

View File

@@ -56,21 +56,48 @@ namespace CapMachine.Wpf.Services
//SpeedTag = TagManager.DicTags.GetValueOrDefault("转速[rpm]");
//ExPressTag = TagManager.DicTags.GetValueOrDefault("排气压力[BarA]");
//ExTempTag = TagManager.DicTags.GetValueOrDefault("排气温度[℃]");
InhPressTag = TagManager.DicTags.GetValueOrDefault("吸气压力[BarA]")!;
InhTempTag = TagManager.DicTags.GetValueOrDefault("吸气温度[℃]")!;
if (TagManager.TryGetShortControlTagByName("吸气压力[BarA]",out ShortControlTag? InhPressShortControlTag))
{
InhPressTag = InhPressShortControlTag!;
}
if (TagManager.TryGetShortControlTagByName("吸气温度[℃]", out ShortControlTag? InhTempShortControlTag))
{
InhTempTag = InhTempShortControlTag!;
}
//InhTempTag = TagManager.DicTags.GetValueOrDefault("吸气温度[℃]")!;
//ComCapBusVolTag = TagManager.DicTags.GetValueOrDefault("通讯母线电压[V]");
//ComCapBusCurTag = TagManager.DicTags.GetValueOrDefault("通讯母线电流[A]");
//ComCapPwTag = TagManager.DicTags.GetValueOrDefault("通讯功率[W]");
//OS2TempTag = TagManager.DicTags.GetValueOrDefault("吸气混合器温度[℃]");
TxvFrTempTag = TagManager.DicTags.GetValueOrDefault("膨胀阀前温度[℃]")!;
TxvFrPressTag = TagManager.DicTags.GetValueOrDefault("膨胀阀前压力[BarA]")!;
//TxvFrTempTag = TagManager.DicTags.GetValueOrDefault("膨胀阀前温度[℃]")!;
//TxvFrPressTag = TagManager.DicTags.GetValueOrDefault("膨胀阀前压力[BarA]")!;
if (TagManager.TryGetShortTagByName("膨胀阀前温度[℃]", out ShortValueTag? TxvFrTempShortTag))
{
TxvFrTempTag = TxvFrTempShortTag!;
}
if (TagManager.TryGetShortTagByName("膨胀阀前压力[BarA]", out ShortValueTag? TxvFrPressShortTag))
{
TxvFrPressTag = TxvFrPressShortTag!;
}
//Cond1TempTag = TagManager.DicTags.GetValueOrDefault("冷凝器出口水温[℃]");
//CondInTempTag = TagManager.DicTags.GetValueOrDefault("冷凝器进口温度[℃]");
Superheat = TagManager.DicTags.GetValueOrDefault("过热度[K]");
Subcool = TagManager.DicTags.GetValueOrDefault("过冷度[K]");
//Superheat = TagManager.DicTags.GetValueOrDefault("过热度[K]");
//Subcool = TagManager.DicTags.GetValueOrDefault("过冷度[K]");
if (TagManager.TryGetShortTagByName("过热度[K]", out ShortValueTag? SuperheatShortTag))
{
Superheat = SuperheatShortTag!;
}
if (TagManager.TryGetShortTagByName("过冷度[K]", out ShortValueTag? SubcoolShortTag))
{
Subcool = SubcoolShortTag!;
}
SuperHeatCoolConfig.FluidsPath = ConfigHelper.GetValue("FluidsPath");
SuperHeatCoolConfig.Cryogen = ConfigHelper.GetValue("Cryogen");
@@ -95,32 +122,32 @@ namespace CapMachine.Wpf.Services
/// <summary>
/// 吸气压力
/// </summary>
public ITag InhPressTag { get; set; }
public ShortControlTag InhPressTag { get; set; }
/// <summary>
/// 吸气温度
/// </summary>
public ITag InhTempTag { get; set; }
public ShortControlTag InhTempTag { get; set; }
/// <summary>
/// 膨胀阀前温度
/// </summary>
public ITag TxvFrTempTag { get; set; }
public ShortValueTag TxvFrTempTag { get; set; }
/// <summary>
/// 膨胀阀前压力
/// </summary>
public ITag TxvFrPressTag { get; set; }
public ShortValueTag TxvFrPressTag { get; set; }
/// <summary>
/// 过热度
/// </summary>
public ITag Superheat { get; set; }
public ShortValueTag Superheat { get; set; }
/// <summary>
/// 过冷度
/// </summary>
public ITag Subcool { get; set; }
public ShortValueTag Subcool { get; set; }
///// <summary>
@@ -229,25 +256,25 @@ namespace CapMachine.Wpf.Services
IRefProp64.WMOLdll(x, ref wm);
//p = Convert.ToDouble(textBox2.Text) * 1000.0;//textBox2 Comp.吸气压力Mpa
p = (InhPressTag.EngPvValue) * 1000.0;//textBox2 Comp.吸气压力Mpa
p = (InhPressTag.PVModel.EngValue) * 1000.0;//textBox2 Comp.吸气压力Mpa
kph = 1;
p1 = (TxvFrPressTag.EngPvValue) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
p1 = (TxvFrPressTag.PVModel.EngValue) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
//p1 = Convert.ToDouble(textBox3.Text) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
IRefProp64.SATPdll(ref p, x, ref kph, ref te, ref Dl, ref Dv, xliq, xvap, ref iErr, ref herr, ref herrLen);
if (iErr == 0)
Superheat.EngPvValue = InhTempTag.EngPvValue - (te - 273.15);
Superheat.PVModel.EngValue = InhTempTag.PVModel.EngValue - (te - 273.15);
//textBox5.Text = String.Format("{0:n4}", Convert.ToDouble(textBox1.Text) - (te - 273.15));//textBox1 Comp.吸气温度(℃)
else
Superheat.EngPvValue = 0;
Superheat.PVModel.EngValue = 0;
IRefProp64.SATPdll(ref p1, x, ref kph, ref te1, ref Dl, ref Dv, xliq, xvap, ref iErr, ref herr, ref herrLen);
if (iErr == 0)
Subcool.EngPvValue = TxvFrTempTag.EngPvValue - (te1 - 273.15);//textBox4 Evap.膨胀阀前温度(℃)
Subcool.PVModel.EngValue = TxvFrTempTag.PVModel.EngValue - (te1 - 273.15);//textBox4 Evap.膨胀阀前温度(℃)
//GuoLengDu = (te1 - 273.15) - ListKRLogCellValue.Find(a => a.Name == "膨胀阀前温度").Value;//textBox4 Evap.膨胀阀前温度(℃)
//textBox6.Text = String.Format("{0:n4}", Convert.ToDouble(textBox4.Text) - (te1 - 273.15));//textBox4 Evap.膨胀阀前温度(℃)
else
Subcool.EngPvValue = 0;
Subcool.PVModel.EngValue = 0;
}
catch (Exception ex)
{
@@ -328,11 +355,11 @@ namespace CapMachine.Wpf.Services
//p = Convert.ToDouble(textBox2.Text) * 1000.0;//textBox2 Comp.吸气压力Mpa
//p = (ListRtKPMeter.Find(a => a.MeterName == "吸入压力").RtPV) * 1000.0;//textBox2 Comp.吸气压力Mpa
p = (InhPressTag.EngPvValue) * 1000.0;//textBox2 Comp.吸气压力Mpa
p = (InhPressTag.PVModel.EngValue) * 1000.0;//textBox2 Comp.吸气压力Mpa
kph = 1;
//p1 = (ListKRLogCellValue.Find(a => a.Name == "膨胀阀前压力").Value) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
p1 = (TxvFrPressTag.EngPvValue) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
p1 = (TxvFrPressTag.PVModel.EngValue) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
//p1 = Convert.ToDouble(textBox3.Text) * 1000.0;//textBox3 Evap.膨胀阀前压力Mpa
@@ -341,20 +368,20 @@ namespace CapMachine.Wpf.Services
if (iErr == 0)
//GuoReDu = ListRtKPMeter.Find(a => a.MeterName == "吸入温度").RtPV - (te - 273.15);
Superheat.EngPvValue = InhTempTag.EngPvValue - (te - 273.15);
Superheat.PVModel.EngValue = InhTempTag.PVModel.EngValue - (te - 273.15);
//textBox5.Text = String.Format("{0:n4}", Convert.ToDouble(textBox1.Text) - (te - 273.15));//textBox1 Comp.吸气温度(℃)
else
Superheat.EngPvValue = 0;
Superheat.PVModel.EngValue = 0;
IRefProp64.SATPdll(ref p1, x, ref kph, ref te1, ref Dl, ref Dv, xliq, xvap, ref iErr, ref herr, ref herrLen);
if (iErr == 0)
//GuoLengDu = ListKRLogCellValue.Find(a => a.Name == "膨胀阀前温度").Value - (te1 - 273.15);//textBox4 Evap.膨胀阀前温度(℃)
Subcool.EngPvValue = TxvFrTempTag.EngPvValue - (te1 - 273.15);//textBox4 Evap.膨胀阀前温度(℃)
Subcool.PVModel.EngValue = TxvFrTempTag.PVModel.EngValue - (te1 - 273.15);//textBox4 Evap.膨胀阀前温度(℃)
//textBox6.Text = String.Format("{0:n4}", Convert.ToDouble(textBox4.Text) - (te1 - 273.15));//textBox4 Evap.膨胀阀前温度(℃)
else
Subcool.EngPvValue = 0;
Subcool.PVModel.EngValue = 0;
}
catch (Exception ex)

View File

@@ -165,12 +165,12 @@ namespace CapMachine.Wpf.Services
ListPlcLoadConfigCell.Add(new PlcLoadConfigCell()
{
Name = itemKeyValue.Key,
SvAddress = itemKeyValue.Value.SVAddress,
Limit_UpAddress = itemKeyValue.Value.Limit_UpAddress,
Limit_DownAddress = itemKeyValue.Value.Limit_DownAddress,
Pid_PAddress = itemKeyValue.Value.Pid_PAddress,
Pid_IAddress = itemKeyValue.Value.Pid_IAddress,
Pid_DAddress = itemKeyValue.Value.Pid_DAddress,
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 : "",
Pid_IAddress = MachineRtDataService.TagManger.TryGetPidIModel(itemKeyValue.Value.Name, out MeterExdAttrCell? controlAttrCell5) == true ? controlAttrCell5!.Address : "",
Pid_DAddress = MachineRtDataService.TagManger.TryGetPidDModel(itemKeyValue.Value.Name, out MeterExdAttrCell? controlAttrCell6) == true ? controlAttrCell6!.Address : "",
Precision = itemKeyValue.Value.Precision,
});