From 7a365534a522e6efe8a4aabba8fa6932132c0955 Mon Sep 17 00:00:00 2001 From: Tyrone CT Date: Tue, 8 Jul 2025 15:33:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E4=BA=86=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CapMachine.Wpf/CanDrive/CanFD/ToomossCanFD.cs | 15 +- CapMachine.Wpf/Dtos/QuickMeterStepDto.cs | 53 +++-- CapMachine.Wpf/Models/CsvRecordModel.cs | 20 +- CapMachine.Wpf/Models/CsvRecordModelMap.cs | 10 +- .../Models/LightChart/ChartManager.cs | 10 +- CapMachine.Wpf/ProPars/ProParsHelperQuick.cs | 189 +++++++++--------- CapMachine.Wpf/ReportFile/快速程序模版.xlsx | Bin 12490 -> 12674 bytes CapMachine.Wpf/Services/DataRecordService.cs | 6 +- .../Services/MachineRtDataService.cs | 112 +++++------ CapMachine.Wpf/TagConfig/SysTags.json | 24 +-- CapMachine.Wpf/Views/QuickMeterStepView.xaml | 27 ++- 11 files changed, 236 insertions(+), 230 deletions(-) diff --git a/CapMachine.Wpf/CanDrive/CanFD/ToomossCanFD.cs b/CapMachine.Wpf/CanDrive/CanFD/ToomossCanFD.cs index 184bd44..5216db3 100644 --- a/CapMachine.Wpf/CanDrive/CanFD/ToomossCanFD.cs +++ b/CapMachine.Wpf/CanDrive/CanFD/ToomossCanFD.cs @@ -116,7 +116,7 @@ namespace CapMachine.Wpf.CanDrive /// /// Read CAN Index /// - public Byte ReadCANIndex { get; set; } = 1; + public Byte ReadCANIndex { get; set; } = 0; private bool _OpenState; @@ -550,22 +550,14 @@ namespace CapMachine.Wpf.CanDrive //释放申请的临时缓冲区 Marshal.FreeHGlobal(msgPtSend); + //CanMsg[0].Flags = 5; - //var CanMsg1 = GetCanMsg(CanMsg,0); - //var CanMsg2 = GetCanMsg(CanMsg,1); - CanMsg[0].Flags = 5; - - //CanMsg1[0].Flags = 5; - //CanMsg2[0].Flags = 5; //发送CAN数据 int SendedNum = USB2CANFD.CANFD_SendMsg(DevHandle, WriteCANIndex, CanMsg, (Int32)CanMsg.Length); - //Thread.Sleep(20); - //int SendedNum2 = USB2CANFD.CANFD_SendMsg(DevHandle, WriteCANIndex, CanMsg2, (Int32)CanMsg2.Length); + if (SendedNum >= 0) { //Console.WriteLine("Success send frames:{0}", SendedNum); - - IsSendOk = true; } else @@ -573,7 +565,6 @@ namespace CapMachine.Wpf.CanDrive //Console.WriteLine("Send CAN data failed! {0}", SendedNum); IsSendOk = false; } - } } diff --git a/CapMachine.Wpf/Dtos/QuickMeterStepDto.cs b/CapMachine.Wpf/Dtos/QuickMeterStepDto.cs index 4becada..3b6f74f 100644 --- a/CapMachine.Wpf/Dtos/QuickMeterStepDto.cs +++ b/CapMachine.Wpf/Dtos/QuickMeterStepDto.cs @@ -101,9 +101,9 @@ namespace CapMachine.Wpf.Dtos private double _Cond1Temp; /// - /// COND1温度 信息 + /// COND1温度 信息 COND循环水温 /// - [Column("COND1温度(℃)")] + [Column("COND循环水温(℃)")] public double Cond1Temp { get { return _Cond1Temp; } @@ -112,9 +112,9 @@ namespace CapMachine.Wpf.Dtos private double _Cond2Temp; /// - /// COND2温度 信息 + /// COND2温度 信息 H5吸气混合器温度 /// - [Column("COND2温度(℃)")] + [Column("H5吸气混合器温度(℃)")] public double Cond2Temp { get { return _Cond2Temp; } @@ -123,9 +123,9 @@ namespace CapMachine.Wpf.Dtos private double _Cond2Press; /// - /// COND2压力 信息 + /// COND2压力 信息 吸气混合器出口温度 /// - [Column("COND2压力(BarA)")] + [Column("吸气混合器出口温度(℃)")] public double Cond2Press { get { return _Cond2Press; } @@ -156,9 +156,9 @@ namespace CapMachine.Wpf.Dtos private double _LubePress; /// - /// 润滑油压力 信息 + /// 润滑油压力 信息 SUBCOOL出口温度 /// - [Column("润滑油压力(BarA)")] + [Column("SUBCOOL出口温度(℃)")] public double LubePress { get { return _LubePress; } @@ -200,9 +200,9 @@ namespace CapMachine.Wpf.Dtos private double _OS2Temp; /// - /// OS2温度 信息 + /// OS2温度 信息 H1出口温度 /// - [Column("OS2温度(℃)")] + [Column("H1出口温度(℃)")] public double OS2Temp { get { return _OS2Temp; } @@ -231,15 +231,26 @@ namespace CapMachine.Wpf.Dtos set { _PTCFlow = value; RaisePropertyChanged(); } } - private double _PTCPw; + private double _PTCPw1; /// - /// PTC功率 信息 + /// PTC功率 信息 PTC功率1 /// - [Column("PTC功率(W)")] - public double PTCPw + [Column("PTC功率1(W)")] + public double PTCPw1 { - get { return _PTCPw; } - set { _PTCPw = value; RaisePropertyChanged(); } + get { return _PTCPw1; } + set { _PTCPw1 = value; RaisePropertyChanged(); } + } + + private double _PTCPw2; + /// + /// PTC功率 信息 PTC功率2 + /// + [Column("PTC功率2(W)")] + public double PTCPw2 + { + get { return _PTCPw2; } + set { _PTCPw2 = value; RaisePropertyChanged(); } } private double _EnvRH; @@ -265,6 +276,16 @@ namespace CapMachine.Wpf.Dtos } + private double _Dryness; + /// + /// 干度 信息 + /// + [Column("干度")] + public double Dryness + { + get { return _Dryness; } + set { _Dryness = value; RaisePropertyChanged(); } + } diff --git a/CapMachine.Wpf/Models/CsvRecordModel.cs b/CapMachine.Wpf/Models/CsvRecordModel.cs index 1376884..9950558 100644 --- a/CapMachine.Wpf/Models/CsvRecordModel.cs +++ b/CapMachine.Wpf/Models/CsvRecordModel.cs @@ -56,21 +56,21 @@ namespace CapMachine.Wpf.Models public double InhTemp { get; set; } /// - /// COND1温度[℃] + /// COND1温度[℃] COND循环水温 /// - [Name("COND1温度[℃]")] + [Name("COND循环水温[℃]")] public double Cond1Temp { get; set; } /// - /// 润滑油压力[BarA] + /// 润滑油压力[BarA] SUBCOOL出口温度 /// - [Name("润滑油压力[BarA]")] + [Name("SUBCOOL出口温度[℃]")] public double LubePress { get; set; } /// - /// COND2压力[BarA] + /// COND2压力[BarA] 吸气混合器出口温度 /// - [Name("COND2压力[BarA]")] + [Name("吸气混合器出口温度[℃]")] public double Cond2Press { get; set; } /// @@ -128,15 +128,15 @@ namespace CapMachine.Wpf.Models public double OS1Temp { get; set; } /// - /// OS2温度[℃] + /// OS2温度[℃] H1出口温度 /// - [Name("OS2温度[℃]")] + [Name("H1出口温度[℃]")] public double OS2Temp { get; set; } /// - /// COND2温度[℃] + /// COND2温度[℃] H5吸气混合器温度 /// - [Name("COND2温度[℃]")] + [Name("H5吸气混合器温度[℃]")] public double Cond2Temp { get; set; } /// diff --git a/CapMachine.Wpf/Models/CsvRecordModelMap.cs b/CapMachine.Wpf/Models/CsvRecordModelMap.cs index 0c45509..14c4932 100644 --- a/CapMachine.Wpf/Models/CsvRecordModelMap.cs +++ b/CapMachine.Wpf/Models/CsvRecordModelMap.cs @@ -22,9 +22,9 @@ namespace CapMachine.Wpf.Models Map(m => m.ExPress).Name("排气压力[BarA]"); Map(m => m.InhPress).Name("吸气压力[BarA]"); Map(m => m.InhTemp).Name("吸气温度[℃]"); - Map(m => m.Cond1Temp).Name("COND1温度[℃]"); - Map(m => m.LubePress).Name("润滑油压力[BarA]"); - Map(m => m.Cond2Press).Name("COND2压力[BarA]"); + Map(m => m.Cond1Temp).Name("COND循环水温[℃]"); + Map(m => m.LubePress).Name("SUBCOOL出口温度[℃]"); + Map(m => m.Cond2Press).Name("吸气混合器出口温度[℃]"); Map(m => m.OCR).Name("OCR[%]"); Map(m => m.HV).Name("HV[V]"); Map(m => m.HVCur).Name("HV[A]"); @@ -34,8 +34,8 @@ namespace CapMachine.Wpf.Models Map(m => m.EnvTemp).Name("环境温度[℃]"); Map(m => m.EnvRH).Name("环境湿度[%]"); Map(m => m.OS1Temp).Name("OS1温度[℃]"); - Map(m => m.OS2Temp).Name("OS2温度[℃]"); - Map(m => m.Cond2Temp).Name("COND2温度[℃]"); + Map(m => m.OS2Temp).Name("H1出口温度[℃]"); + Map(m => m.Cond2Temp).Name("H5吸气混合器温度[℃]"); Map(m => m.EVAPExpTemp).Name("EVAP出口温度[℃]"); Map(m => m.VRV).Name("冷媒流量[L/min]"); Map(m => m.LubeFlow).Name("润滑油流量[L/min]"); diff --git a/CapMachine.Wpf/Models/LightChart/ChartManager.cs b/CapMachine.Wpf/Models/LightChart/ChartManager.cs index 8e027b1..2bf83c6 100644 --- a/CapMachine.Wpf/Models/LightChart/ChartManager.cs +++ b/CapMachine.Wpf/Models/LightChart/ChartManager.cs @@ -209,11 +209,11 @@ namespace CapMachine.Wpf.Models.LightChart return CurHistoryData.Select(a => new ChartPoint() { Value = a.InhPress, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); case "吸气温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.InhTemp, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); - case "COND1温度[℃]": + case "COND循环水温[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.Cond1Temp, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); - case "润滑油压力[BarA]": + case "SUBCOOL出口温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.LubePress, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); - case "COND2压力[BarA]": + case "吸气混合器出口温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.Cond2Press, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); case "OCR[%]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.OCR, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); @@ -233,9 +233,9 @@ namespace CapMachine.Wpf.Models.LightChart return CurHistoryData.Select(a => new ChartPoint() { Value = a.EnvRH, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); case "OS1温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.OS1Temp, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); - case "OS2温度[℃]": + case "H1出口温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.OS2Temp, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); - case "COND2温度[℃]": + case "H5吸气混合器温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.Cond2Temp, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); case "EVAP出口温度[℃]": return CurHistoryData.Select(a => new ChartPoint() { Value = a.EVAPExpTemp, Time = a.CreateTime }).OrderBy(a => a.Time).ToList(); diff --git a/CapMachine.Wpf/ProPars/ProParsHelperQuick.cs b/CapMachine.Wpf/ProPars/ProParsHelperQuick.cs index 67a678e..6145349 100644 --- a/CapMachine.Wpf/ProPars/ProParsHelperQuick.cs +++ b/CapMachine.Wpf/ProPars/ProParsHelperQuick.cs @@ -22,9 +22,9 @@ namespace CapMachine.Wpf.ProPars List ListPlcParsDataQuick = new List() { new PlcParsDataQuick(){ Name="速度",EnName="Speed",Step=100,Steps=new List(),Ratio=1,Unit="",ValueStartAddress=1006, }, - new PlcParsDataQuick(){ Name="COND1温度 ",EnName="Cond1Temp",Step=100,Steps=new List(),Ratio=10,Unit="",ValueStartAddress=1014, }, - new PlcParsDataQuick(){ Name="COND2温度",EnName="Cond2Temp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1034, }, - new PlcParsDataQuick(){ Name="COND2压力",EnName="Cond2Press",Step=100,Steps=new List(),Ratio=100,Unit="" ,ValueStartAddress=1018, }, + new PlcParsDataQuick(){ Name="COND循环水温 ",EnName="Cond1Temp",Step=100,Steps=new List(),Ratio=10,Unit="",ValueStartAddress=1014, }, + new PlcParsDataQuick(){ Name="H5吸气混合器温度",EnName="Cond2Temp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1034, }, + new PlcParsDataQuick(){ Name="吸气混合器出口温度",EnName="Cond2Press",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1018, }, new PlcParsDataQuick(){ Name="EVAP出口温度",EnName="EVAPExpTemp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1036, }, new PlcParsDataQuick(){ Name="排气压力",EnName="ExPress",Step=100,Steps=new List(),Ratio=100,Unit="" ,ValueStartAddress=1008, }, @@ -34,18 +34,20 @@ namespace CapMachine.Wpf.ProPars new PlcParsDataQuick(){ Name="吸气温度",EnName="InhTemp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1012, }, - new PlcParsDataQuick(){ Name="润滑油压力",EnName="LubePress",Step=100,Steps=new List(),Ratio=100,Unit="" ,ValueStartAddress=1016, }, + new PlcParsDataQuick(){ Name="SUBCOOL出口温度",EnName="LubePress",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1016, }, new PlcParsDataQuick(){ Name="LV电压",EnName="LVVol",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1024, }, new PlcParsDataQuick(){ Name="OCR",EnName="OCR",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1020, }, new PlcParsDataQuick(){ Name="OS1温度",EnName="OS1Temp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1030, }, - new PlcParsDataQuick(){ Name="OS2温度",EnName="OS2Temp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1032, }, + new PlcParsDataQuick(){ Name="H1出口温度",EnName="OS2Temp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1032, }, new PlcParsDataQuick(){ Name="PTC入口温度",EnName="PTCEntTemp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1054, }, new PlcParsDataQuick(){ Name="PTC流量",EnName="PTCFlow",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1052, }, - new PlcParsDataQuick(){ Name="PTC功率",EnName="PTCPw",Step=100,Steps=new List(),Ratio=1,Unit="" ,ValueStartAddress=1050, }, + new PlcParsDataQuick(){ Name="PTC功率1",EnName="PTCPw1",Step=100,Steps=new List(),Ratio=1,Unit="" ,ValueStartAddress=1050, }, + new PlcParsDataQuick(){ Name="PTC功率2",EnName="PTCPw2",Step=100,Steps=new List(),Ratio=1,Unit="" ,ValueStartAddress=1056, }, + new PlcParsDataQuick(){ Name="干度",EnName="Dryness",Step=100,Steps=new List(),Ratio=1,Unit="" ,ValueStartAddress=1058, }, new PlcParsDataQuick(){ Name="压缩机环境湿度",EnName="EnvRH",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1028, }, new PlcParsDataQuick(){ Name="压缩机环境温度",EnName="EnvTemp",Step=100,Steps=new List(),Ratio=10,Unit="" ,ValueStartAddress=1026, }, @@ -229,8 +231,11 @@ namespace CapMachine.Wpf.ProPars case "PTCFlow": item.Steps.Add(new PlcMeterStepCellQuick() { Step = CurStep, Value = proStep.PTCFlow, Address = GetAddress(item.ValueStartAddress, CurStep, item.Step) }); break; - case "PTCPw": - item.Steps.Add(new PlcMeterStepCellQuick() { Step = CurStep, Value = proStep.PTCPw, Address = GetAddress(item.ValueStartAddress, CurStep, item.Step) }); + case "PTCPw1": + item.Steps.Add(new PlcMeterStepCellQuick() { Step = CurStep, Value = proStep.PTCPw1, Address = GetAddress(item.ValueStartAddress, CurStep, item.Step) }); + break; + case "PTCPw2": + item.Steps.Add(new PlcMeterStepCellQuick() { Step = CurStep, Value = proStep.PTCPw2, Address = GetAddress(item.ValueStartAddress, CurStep, item.Step) }); break; case "EnvRH": item.Steps.Add(new PlcMeterStepCellQuick() { Step = CurStep, Value = proStep.EnvRH, Address = GetAddress(item.ValueStartAddress, CurStep, item.Step) }); @@ -458,90 +463,90 @@ namespace CapMachine.Wpf.ProPars return BlockDatas; } - /// - /// 根据名称获取Index信息 - /// - /// - public static int GetIndexByName(DataGridColumn dataGridColumn) - { - var headerText = (dataGridColumn.Header as TextBlock).Text; - if (headerText.Contains("COND1温度 ")) - { - return 0; - } - else if (headerText.Contains("COND2温度")) - { - return 1; - } - else if (headerText.Contains("COND2压力")) - { - return 2; - } - else if (headerText.Contains("EVAP出口温度")) - { - return 3; - } - else if (headerText.Contains("排气压力")) - { - return 4; - } - else if (headerText.Contains("HV电压")) - { - return 5; - } - else if (headerText.Contains("吸气压力")) - { - return 6; - } - else if (headerText.Contains("吸气温度")) - { - return 7; - } - else if (headerText.Contains("润滑油压力")) - { - return 8; - } - else if (headerText.Contains("LV电压")) - { - return 9; - } - else if (headerText.Contains("OCR")) - { - return 10; - } - else if (headerText.Contains("OS1温度")) - { - return 11; - } - else if (headerText.Contains("OS2温度")) - { - return 12; - } - else if (headerText.Contains("PTC入口温度")) - { - return 13; - } - else if (headerText.Contains("PTC流量")) - { - return 14; - } - else if (headerText.Contains("PTC功率")) - { - return 15; - } - else if (headerText.Contains("试验箱湿度")) - { - return 16; - } - else if (headerText.Contains("试验箱温度")) - { - return 17; - } - else - { - return 0; - } - } + ///// + ///// 根据名称获取Index信息 + ///// + ///// + //public static int GetIndexByName(DataGridColumn dataGridColumn) + //{ + // var headerText = (dataGridColumn.Header as TextBlock).Text; + // if (headerText.Contains("COND1温度 ")) + // { + // return 0; + // } + // else if (headerText.Contains("COND2温度")) + // { + // return 1; + // } + // else if (headerText.Contains("COND2压力")) + // { + // return 2; + // } + // else if (headerText.Contains("EVAP出口温度")) + // { + // return 3; + // } + // else if (headerText.Contains("排气压力")) + // { + // return 4; + // } + // else if (headerText.Contains("HV电压")) + // { + // return 5; + // } + // else if (headerText.Contains("吸气压力")) + // { + // return 6; + // } + // else if (headerText.Contains("吸气温度")) + // { + // return 7; + // } + // else if (headerText.Contains("润滑油压力")) + // { + // return 8; + // } + // else if (headerText.Contains("LV电压")) + // { + // return 9; + // } + // else if (headerText.Contains("OCR")) + // { + // return 10; + // } + // else if (headerText.Contains("OS1温度")) + // { + // return 11; + // } + // else if (headerText.Contains("OS2温度")) + // { + // return 12; + // } + // else if (headerText.Contains("PTC入口温度")) + // { + // return 13; + // } + // else if (headerText.Contains("PTC流量")) + // { + // return 14; + // } + // else if (headerText.Contains("PTC功率")) + // { + // return 15; + // } + // else if (headerText.Contains("试验箱湿度")) + // { + // return 16; + // } + // else if (headerText.Contains("试验箱温度")) + // { + // return 17; + // } + // else + // { + // return 0; + // } + //} #region 获取数据 diff --git a/CapMachine.Wpf/ReportFile/快速程序模版.xlsx b/CapMachine.Wpf/ReportFile/快速程序模版.xlsx index d5742aaa1c986272d1d31e0ca9162e566a6e385c..bb44b6630c4c09eb1fec6a85e22b1e24360bbe72 100644 GIT binary patch delta 6173 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 E0m0#sqyPW_ delta 5972 zcmY*dbyU<_*B)vRq*LjZ?oJ62kPwjWMjD112KXUJH$yAkAq)-DA|NeY0wV%LN{NKT z$Gz*l?|r}X$65QF{hW1nuC><_YBOww7zP9Hq-3_1(Lo?7FbG5l0)hNp`25_xoUPs6 zoq7FTU5a0gxxITz)McrQvgDmWWvQs6yDm=Et5#PB1cYn$*+Vxp-z+pk+ zSLc#0dA^|R@?8_}o&n7tbW>zmH&%0N!9u5FG&H<1rtKy5)}fIPⅇxbE8s^jiP{6 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 bC;oqcRdzVFfDF1h7u;BY2`tR}m-7Drv*TVS diff --git a/CapMachine.Wpf/Services/DataRecordService.cs b/CapMachine.Wpf/Services/DataRecordService.cs index 7466e19..177c642 100644 --- a/CapMachine.Wpf/Services/DataRecordService.cs +++ b/CapMachine.Wpf/Services/DataRecordService.cs @@ -108,9 +108,9 @@ namespace CapMachine.Wpf.Services new Columns(){ Name="排气压力[BarA]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, new Columns(){ Name="吸气压力[BarA]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, new Columns(){ Name="吸气温度[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, - new Columns(){ Name="COND1温度[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, - new Columns(){ Name="润滑油压力[BarA]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, - new Columns(){ Name="COND2压力[BarA]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="COND循环水温[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="SUBCOOL出口温度[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, + new Columns(){ Name="吸气混合器出口温度[℃]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, new Columns(){ Name="OCR[%]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, new Columns(){ Name="HV[V]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, new Columns(){ Name="HV[A]",MapType=typeof(float).ToString(),IsIdentity=false,IsPrimary=false}, diff --git a/CapMachine.Wpf/Services/MachineRtDataService.cs b/CapMachine.Wpf/Services/MachineRtDataService.cs index 11543cb..98718ba 100644 --- a/CapMachine.Wpf/Services/MachineRtDataService.cs +++ b/CapMachine.Wpf/Services/MachineRtDataService.cs @@ -38,6 +38,7 @@ namespace CapMachine.Wpf.Services public AlarmService AlarmService { get; } public ConfigService ConfigService { get; } public CanDriveService CanDriveService { get; } + public CanFdDriveService CanFdDriveService { get; } public LinDriveService LinDriveService { get; } public SysRunService SysRunService { get; } @@ -121,7 +122,7 @@ namespace CapMachine.Wpf.Services /// /// public MachineRtDataService(IEventAggregator eventAggregator, AlarmService alarmService, ConfigService configService, - CanDriveService canDriveService, LinDriveService linDriveService, SysRunService sysRunService)//, AlarmService alarmService + CanDriveService canDriveService, CanFdDriveService canFdDriveService, LinDriveService linDriveService, SysRunService sysRunService)//, AlarmService alarmService { //ConcurrentDictionary keyValuePairs = new ConcurrentDictionary(); @@ -139,6 +140,7 @@ namespace CapMachine.Wpf.Services AlarmService = alarmService; ConfigService = configService; CanDriveService = canDriveService; + CanFdDriveService = canFdDriveService; LinDriveService = linDriveService; SysRunService = sysRunService; @@ -150,69 +152,6 @@ namespace CapMachine.Wpf.Services #region 标签管理 - //////三电 Sample - //TagManger.AddTag(new Tag("转速", "转速[rpm]", "Speed", "程序", "VW15000", 100, 0, 1, "rpm", new ShortTagValue(), true) { DecimalPoint = 0, SVAddress = "VW14002" }); - //TagManger.AddTag(new Tag("排气压力", "排气压力[BarA]", "ExPress", "程序", "VW15002", 100, 0, 100, "BarA", new ShortTagValue(), true) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("吸气压力", "吸气压力[BarA]", "InhPress", "程序", "VW15004", 100, 0, 100, "BarA", new ShortTagValue(), true) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("吸气温度", "吸气温度[℃]", "InhTemp", "程序", "VW15006", 100, 0, 10, "℃", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("COND1温度", "COND1温度[℃]", "Cond1Temp", "程序", "VW15008", 100, 0, 10, "℃", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("润滑油压力", "润滑油压力[BarA]", "LubePress", "程序", "VW15010", 100, 0, 100, "BarA", new ShortTagValue(), true) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("COND2压力", "COND2压力[BarA]", "Cond2Press", "程序", "VW15012", 100, 0, 100, "BarA", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("OCR", "OCR[%]", "OCR", "程序", "VW15014", 100, 0, 10, "%", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("HV[V]", "HV[V]", "HV", "程序", "VW15016", 100, 0, 10, "V", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("HV[A]", "HV[A]", "HVCur", "程序", "VW15018", 100, 0, 100, "A", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("HV[W]", "HV[W]", "HVPw", "程序", "VW15020", 100, 0, 1, "W", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("LV[V]", "LV[V]", "LV", "程序", "VW15022", 100, 0, 10, "V", new ShortTagValue(), true) { DecimalPoint = 2 }); - ////TagManger.AddTag(new Tag("LV[A]", "LV[A]", "LVCur", "程序", "VW15024", 100, 0, 1, "A", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("LV[A]", "LV[A]", "LVCur", "程序", "VW15024", 100, 0, 100, "A", new ShortTagValue(), false) { DecimalPoint = 3 }); - //TagManger.AddTag(new Tag("环境温度", "环境温度[℃]", "EnvTemp", "程序", "VW15026", 100, 0, 10, "℃", new ShortTagValue(), true) { DecimalPoint = 1 }); - ////TagManger.AddTag(new Tag("环境湿度", "环境湿度[%]", "EnvRH", "程序", "VW15028", 100, 0, 10, "%", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("环境湿度", "环境湿度[%]", "EnvRH", "程序", "VW15028", 100, 0, 10, "%", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("OS1温度", "OS1温度[℃]", "OS1Temp", "程序", "VW15030", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("OS2温度", "OS2温度[℃]", "OS2Temp", "程序", "VW15032", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("COND2温度", "COND2温度[℃]", "Cond2Temp", "程序", "VW15034", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("EVAP出口温度", "EVAP出口温度[℃]", "EVAPExpTemp", "程序", "VW15036", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - ////TagManger.AddTag(new Tag("冷媒流量", "冷媒流量[L/min]", "VRV", "程序", "VW15038", 100, 0, 1, "L/min", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("冷媒流量", "冷媒流量[L/min]", "VRV", "程序", "VW15038", 100, 0, 10, "L/min", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("润滑油流量", "润滑油流量[L/min]", "LubeFlow", "程序", "VW15040", 100, 0, 10, "L/min", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("排气温度", "排气温度[℃]", "ExTemp", "程序", "VW15042", 100, 0, 10, "℃", new ShortTagValue(), true) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("膨胀阀前压力", "膨胀阀前压力[BarA]", "TxvFrPress", "程序", "VW15044", 100, 0, 100, "BarA", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("膨胀阀前温度", "膨胀阀前温度[℃]", "TxvFrTemp", "程序", "VW15046", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("EVAP出口压力", "EVAP出口压力[BarA]", "EVAPExpPress", "程序", "VW15048", 100, 0, 100, "BarA", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("腔内压力", "腔内压力[BarA]", "IntrplPress", "程序", "VW15050", 100, 0, 100, "BarA", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("压缩机表面温度", "压缩机表面温度[℃]", "CapSurfTemp", "程序", "VW15052", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("PTC流量", "PTC流量[L/min]", "PTCFlow", "程序", "VW15054", 100, 0, 10, "L/min", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("PTC入水温度", "PTC入水温度[℃]", "PTCEntTemp", "程序", "VW15056", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("PTC出水温度", "PTC出水温度[℃]", "PTCExpTemp", "程序", "VW15058", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - - ////TagManger.AddTag(new Tag("AT04_01", "AT04_01[℃]", "AT04_01Temp", "程序", "VW70", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - ////TagManger.AddTag(new Tag("AT04_02", "AT04_02[℃]", "AT04_02Temp", "程序", "VW72", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - - //TagManger.AddTag(new Tag("通讯Cmp母线电流", "通讯Cmp母线电流[A]", "ComCapBusCur", "程序", "VW15060", 100, 0, 100, "A", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("通讯Cmp母线电压", "通讯Cmp母线电压[V]", "ComCapBusVol", "程序", "VW15062", 100, 0, 1, "V", new ShortTagValue(), false) { DecimalPoint = 0 }); - //TagManger.AddTag(new Tag("通讯Cmp逆变器温度", "通讯Cmp逆变器温度[℃]", "ComCapInvTemp", "程序", "VW15064", 100, 0, 1, "℃", new ShortTagValue(), false) { DecimalPoint = 0 }); - //TagManger.AddTag(new Tag("通讯Cmp相电流", "通讯Cmp相电流[A]", "ComCapPhCur", "程序", "VW15066", 100, 0, 100, "A", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("通讯Cmp功率", "通讯Cmp功率[W]", "ComCapPw", "程序", "VW15068", 100, 0, 1, "W", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("通讯Cmp芯片温度", "通讯Cmp芯片温度[℃]", "ComCapChipTemp", "程序", "VW15070", 100, 0, 1, "℃", new ShortTagValue(), false) { DecimalPoint = 0 }); - - //TagManger.AddTag(new Tag("通讯PTC入水温度", "通讯PTC入水温度[℃]", "ComPTCEntTemp", "程序", "VW15072", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("通讯PTC出水温度", "通讯PTC出水温度[℃]", "ComPTCExpTemp", "程序", "VW15074", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("通讯PTC峰值电流", "通讯PTC峰值电流[A]", "ComPTCPeakCur", "程序", "VW15076", 100, 0, 1, "A", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("通讯PTC母线电流", "通讯PTC母线电流[A]", "ComPTCBusCur", "程序", "VW15078", 100, 0, 100, "A", new ShortTagValue(), false) { DecimalPoint = 2 }); - //TagManger.AddTag(new Tag("通讯PTC膜温", "通讯PTC膜温[℃]", "ComPTCFlmTemp", "程序", "VW15080", 100, 0, 1, "℃", new ShortTagValue(), false) { DecimalPoint = 0 }); - //TagManger.AddTag(new Tag("通讯PTC模块温度", "通讯PTC模块温度[℃]", "ComPTCMdTemp", "程序", "VW15082", 100, 0, 1, "℃", new ShortTagValue(), false) { DecimalPoint = 0 }); - - //TagManger.AddTag(new Tag("液冷媒流量", "液冷媒流量[L/min]", "LiqRefFlow", "程序", "VW15084", 100, 0, 10, "L/min", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("干度流量", "干度流量[L/min]", "DryFlow", "程序", "VW15086", 100, 0, 10, "L/min", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("H5吸气混合器温度", "H5吸气混合器温度[℃]", "H5InhMixTemp", "程序", "VW15088", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("COND循环水温", "COND循环水温[℃]", "CONDCirWaterTemp", "程序", "VW15090", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("SUBCOOL出口温度", "SUBCOOL出口温度[℃]", "SubcoolOutTemp", "程序", "VW15092", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("吸气混合器出口温度", "吸气混合器出口温度[℃]", "InhMixOutTemp", "程序", "VW15094", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("H1出口温度", "H1出口温度[℃]", "H1OutTemp", "程序", "VW15096", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("S.C循环水温", "S.C循环水温[℃]", "SCCirWaterTemp", "程序", "VW15098", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("EVAP循环水温", "EVAP循环水温[℃]", "EvapCirWaterTemp", "程序", "VW15100", 100, 0, 10, "℃", new ShortTagValue(), false) { DecimalPoint = 1 }); - //TagManger.AddTag(new Tag("吸气混合器出口压力", "吸气混合器出口压力[BarA]", "InhMixOutPress", "程序", "VW15102", 100, 0, 10, "BarA", new ShortTagValue(), false) { DecimalPoint = 1 }); - #region 标签管理 // 从配置文件加载标签 string tagConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TagConfig", "SysTags.json"); @@ -1500,6 +1439,15 @@ namespace CapMachine.Wpf.Services //pVModel.EngSrcValue = 0; } break; + case CanLinEnum.CANFD: + //通信转速 Dbc中间配置名称的转速数据读取出来 给PLC 取消XXX + if (TagManger.TryGetPVModel(itemCanLinGroup.Key, out MeterValueAttrCell? CanfdpVModel)) + { + CanfdpVModel!.EngValue = CanFdDriveService.GetDbcSpeedValueBySpeedName("通讯Cmp转速"); + SiemensDrive.Write(CanfdpVModel!.Address!.Replace("W", ""), (short)CanFdDriveService.GetDbcSpeedValueBySpeedName("通讯Cmp转速")); + //pVModel.EngSrcValue = 0; + } + break; case CanLinEnum.Lin: //通信转速 Dbc中间配置名称的转速数据读取出来 给PLC 取消XXX if (TagManger.TryGetPVModel(itemCanLinGroup.Key, out MeterValueAttrCell? LinpVModel)) @@ -1529,6 +1477,12 @@ namespace CapMachine.Wpf.Services //写入到PLC中 SiemensDrive.Write(pVModel!.Address!.Replace("W", ""), (short)(CanDriveService.GetDbcValueByName(itemCanLinGroup.Value.NameNoUnit) * itemCanLinGroup.Value.Precision)); break; + case CanLinEnum.CANFD: + //取得压缩机的CANLIN数据到数据集合中 + pVModel!.EngValue = CanFdDriveService.GetDbcValueByName(itemCanLinGroup.Value.NameNoUnit); + //写入到PLC中 + SiemensDrive.Write(pVModel!.Address!.Replace("W", ""), (short)(CanFdDriveService.GetDbcValueByName(itemCanLinGroup.Value.NameNoUnit) * itemCanLinGroup.Value.Precision)); + break; case CanLinEnum.Lin: //取得压缩机的CANLIN数据 pVModel!.EngValue = LinDriveService.GetLdfValueByName(itemCanLinGroup.Value.NameNoUnit); @@ -1596,6 +1550,10 @@ namespace CapMachine.Wpf.Services //获取PLC的使能状态,更新到CAN的使能状态 CanDriveService.UpdateCapEnableCmdData(OperateResultValue.Content[0] == 0 ? false : true); break; + case CanLinEnum.CANFD: + //获取PLC的使能状态,更新到CAN的使能状态 + CanFdDriveService.UpdateCapEnableCmdData(OperateResultValue.Content[0] == 0 ? false : true); + break; case CanLinEnum.Lin: //获取PLC的使能状态,更新到LIN的使能状态 LinDriveService.UpdateCapEnableCmdData(OperateResultValue.Content[0] == 0 ? false : true); @@ -1611,6 +1569,10 @@ namespace CapMachine.Wpf.Services //获取PLC的使能状态,更新到CAN的使能状态 CanDriveService.UpdateSpeedCmdData(OperateResultValue.Content[1]); break; + case CanLinEnum.CANFD: + //获取PLC的使能状态,更新到CAN的使能状态 + CanFdDriveService.UpdateSpeedCmdData(OperateResultValue.Content[1]); + break; case CanLinEnum.Lin: //获取PLC的使能状态,更新到LIN的使能状态 LinDriveService.UpdateSpeedCmdData(OperateResultValue.Content[1]); @@ -1626,6 +1588,10 @@ namespace CapMachine.Wpf.Services //获取PLC的功率限制,更新到CAN的功率限制 CanDriveService.UpdateCapPwLimitCmdData(OperateResultValue.Content[2]); break; + case CanLinEnum.CANFD: + //获取PLC的功率限制,更新到CAN的功率限制 + CanFdDriveService.UpdateCapPwLimitCmdData(OperateResultValue.Content[2]); + break; case CanLinEnum.Lin: //获取PLC的功率限制,更新到LIN的功率限制 LinDriveService.UpdateCapPwLimitCmdData(OperateResultValue.Content[2]); @@ -1642,6 +1608,10 @@ namespace CapMachine.Wpf.Services //获取PLC的 PTC使能,更新到CAN的 PTC使能 CanDriveService.UpdateCapPTCEnableCmdData(OperateResultValue.Content[10] == 0 ? false : true); break; + case CanLinEnum.CANFD: + //获取PLC的 PTC使能,更新到CAN的 PTC使能 + CanFdDriveService.UpdateCapPTCEnableCmdData(OperateResultValue.Content[10] == 0 ? false : true); + break; case CanLinEnum.Lin: //获取PLC的 PTC使能,更新到LIN的 PTC使能 LinDriveService.UpdateCapPTCEnableCmdData(OperateResultValue.Content[10] == 0 ? false : true); @@ -1657,6 +1627,10 @@ namespace CapMachine.Wpf.Services //获取PLC的 PTC功率,更新到CAN的 PTC功率 CanDriveService.UpdateCapPTCPwCmdData(OperateResultValue.Content[11]); break; + case CanLinEnum.CANFD: + //获取PLC的 PTC功率,更新到CAN的 PTC功率 + CanFdDriveService.UpdateCapPTCPwCmdData(OperateResultValue.Content[11]); + break; case CanLinEnum.Lin: //获取PLC的 PTC功率,更新到LIN的 PTC功率 LinDriveService.UpdateCapPTCPwCmdData(OperateResultValue.Content[11]); @@ -1670,7 +1644,11 @@ namespace CapMachine.Wpf.Services { case CanLinEnum.Can: //获取PLC的 PTC水流量信号,更新到CAN的 PTC水流量信号 - CanDriveService.UpdateCapPTCFlowCmdData(OperateResultValue.Content[12]*1.0/100); + CanDriveService.UpdateCapPTCFlowCmdData(OperateResultValue.Content[12] * 1.0 / 100); + break; + case CanLinEnum.CANFD: + //获取PLC的 PTC水流量信号,更新到CAN的 PTC水流量信号 + CanFdDriveService.UpdateCapPTCFlowCmdData(OperateResultValue.Content[12] * 1.0 / 100); break; case CanLinEnum.Lin: //获取PLC的 PTC水流量信号,更新到LIN的 PTC水流量信号 @@ -1687,6 +1665,10 @@ namespace CapMachine.Wpf.Services //获取PLC的 PTC水温,更新到CAN的 PTC水温 CanDriveService.UpdateCapPTCWaterTempCmdData(OperateResultValue.Content[13]); break; + case CanLinEnum.CANFD: + //获取PLC的 PTC水温,更新到CAN的 PTC水温 + CanFdDriveService.UpdateCapPTCWaterTempCmdData(OperateResultValue.Content[13]); + break; case CanLinEnum.Lin: //获取PLC的 PTC水温,更新到LIN的 PTC水温 LinDriveService.UpdateCapPTCWaterTempCmdData(OperateResultValue.Content[13]); diff --git a/CapMachine.Wpf/TagConfig/SysTags.json b/CapMachine.Wpf/TagConfig/SysTags.json index f546c14..15d164d 100644 --- a/CapMachine.Wpf/TagConfig/SysTags.json +++ b/CapMachine.Wpf/TagConfig/SysTags.json @@ -89,8 +89,8 @@ }, { "Id": 50, - "Name": "COND1温度[℃]", - "NameNoUnit": "COND1温度", + "Name": "COND循环水温[℃]", + "NameNoUnit": "COND循环水温", "EnName": "Cond1Temp", "Group": "采集", "MinValue": 0, @@ -111,8 +111,8 @@ }, { "Id": 60, - "Name": "润滑油压力[BarA]", - "NameNoUnit": "润滑油压力", + "Name": "SUBCOOL出口温度[℃]", + "NameNoUnit": "SUBCOOL出口温度", "EnName": "LubePress", "Group": "采集", "MinValue": 0, @@ -120,7 +120,7 @@ "IsMeter": false, "DecimalPoint": 0, "Precision": 100, - "Unit": "BarA", + "Unit": "℃", "DataType": "Short", "RWInfo": "PLCRead", "PVModel": { @@ -133,8 +133,8 @@ }, { "Id": 70, - "Name": "COND2压力[BarA]", - "NameNoUnit": "COND2压力", + "Name": "吸气混合器出口温度[℃]", + "NameNoUnit": "吸气混合器出口温度", "EnName": "Cond2Press", "Group": "采集", "MinValue": 0, @@ -142,7 +142,7 @@ "IsMeter": false, "DecimalPoint": 0, "Precision": 100, - "Unit": "BarA", + "Unit": "℃", "DataType": "Short", "RWInfo": "PLCRead", "PVModel": { @@ -353,8 +353,8 @@ }, { "Id": 170, - "Name": "OS2温度[℃]", - "NameNoUnit": "OS2温度", + "Name": "H1出口温度[℃]", + "NameNoUnit": "H1出口温度", "EnName": "OS2Temp", "Group": "采集", "MinValue": 0, @@ -375,8 +375,8 @@ }, { "Id": 180, - "Name": "COND2温度[℃]", - "NameNoUnit": "COND2温度", + "Name": "H5吸气混合器温度[℃]", + "NameNoUnit": "H5吸气混合器温度", "EnName": "Cond2Temp", "Group": "采集", "MinValue": 0, diff --git a/CapMachine.Wpf/Views/QuickMeterStepView.xaml b/CapMachine.Wpf/Views/QuickMeterStepView.xaml index 311f9ef..1c5785c 100644 --- a/CapMachine.Wpf/Views/QuickMeterStepView.xaml +++ b/CapMachine.Wpf/Views/QuickMeterStepView.xaml @@ -180,17 +180,17 @@ NumberDecimalDigits="1" /> + NumberDecimalDigits="1" /> + NumberDecimalDigits="1" /> @@ -251,10 +251,17 @@ MappingName="PTCFlow" NumberDecimalDigits="1" /> + + -