From 545b0a689bf455f9217a8a1de11c066ce459c314 Mon Sep 17 00:00:00 2001 From: hanqiangqiang <1364346467@qq.com> Date: Thu, 20 Aug 2026 09:10:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=E6=98=82=E5=9D=A4=E6=B5=8B?= =?UTF-8?q?=E6=B8=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AKunTriggerChannelWaferTempData.cs | 70 ++++++------------- .../Temps/AKunTriggerTemp/AKunTriggerTemp.cs | 26 +++---- 2 files changed, 33 insertions(+), 63 deletions(-) diff --git a/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerChannelWaferTempData.cs b/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerChannelWaferTempData.cs index badccdc..0a719fc 100644 --- a/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerChannelWaferTempData.cs +++ b/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerChannelWaferTempData.cs @@ -195,66 +195,36 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps return calZone; } - //public double[] GetWaferTemp() - //{ - // double[] waferTemps = Enumerable.Repeat(_minTemp, _waferNum).ToArray(); - // if (_waferTempDataList.Count < _waferNum) - // return waferTemps; - - // int count = (_waferTempDataList.Count - 1) / _waferNum ;//分区数计算,最后一个数据是托盘的,所以减一, - // if ((_waferTempDataList.Count - 1) % _waferNum != 0)//分区数量不是整数,温度不解析防呆, - // return waferTemps; - - // for (int i = 0; i < _waferNum; i++) //Wafer温度只取每个晶圆的第一个设置的中心温度 - // { - // var index = i * count; - // waferTemps[i] = _waferTempDataList[index].Temp;//直接使用第一个中心温度作为中心温度 - - // //要求不判断中心点,只用第一个分区温度 - // //for (int j = index; j < index + count ; j++) - // //{ - // // if(_waferTempDataList[j].ZoneNum==0) - // // { - // // waferTemps[i] = _waferTempDataList[j].Temp;//有中心温度设置,获取第一个中心温度作为晶圆温度 - // // break; - // // } - // //} - // } - - // return waferTemps; - //} - public double[] GetWaferTemp() { double[] waferTemps = Enumerable.Repeat(_minTemp, _waferNum).ToArray(); if (_waferTempDataList.Count < _waferNum) return waferTemps; - //这届 - for (int i = 0; i < _waferNum; i++) //只有前面几个温度数据,才是需要统计的 - { - waferTemps[i] = _waferTempDataList[i].Temp; - } - //_waferTempDataList[i].CalZone - //for (int i = 0; i < _waferNum; i++) + //for (int i = 0; i < _waferNum; i++) //只有前面几个温度数据,才是需要统计的 //{ - // //根据编号,获取同一分区所有温度数据 - // var tempCaches = _waferTempDataList.Where(item => item.PocketNum == i + 1); - // if (tempCaches != null && tempCaches.Count() > 0) - // { - // //同一分区所有温度数据,查找第一个CalZone为true的温度数据 - // var matchedItem = tempCaches.Where(item => item.CalZone).FirstOrDefault(); - - // if (matchedItem != null) - // waferTemps[i] = matchedItem.Temp; - // else - // waferTemps[i] = tempCaches.First().Temp;//未设置CalZone为true,使用当前分区第一个数据作为默认温度值 - // } - // else - // waferTemps[i] = -1;//没有分区温度是乱的无法解析,使用-1作为提示 + // waferTemps[i] = _waferTempDataList[i].Temp; //} + for (int i = 0; i < _waferNum; i++) + { + //根据编号,获取同一分区所有温度数据 + var tempCaches = _waferTempDataList.Where(item => item.PocketNum == i + 1); + if (tempCaches != null && tempCaches.Count() > 0) + { + //同一分区所有温度数据,查找第一个CalZone为true的温度数据 + var matchedItem = tempCaches.Where(item => item.CalZone).FirstOrDefault(); + + if (matchedItem != null) + waferTemps[i] = matchedItem.Temp; + else + waferTemps[i] = tempCaches.First().Temp;//未设置CalZone为true,使用当前分区第一个数据作为默认温度值 + } + else + waferTemps[i] = -1;//没有分区温度是乱的无法解析,使用-1作为提示 + } + return waferTemps; } diff --git a/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerTemp.cs b/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerTemp.cs index 65f6cc1..2577271 100644 --- a/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerTemp.cs +++ b/Framework/MECF.Framework.RT.EquipmentLibrary/HardwareUnits/Temps/AKunTriggerTemp/AKunTriggerTemp.cs @@ -62,7 +62,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps /// /// 反射率数组 /// - private List _reflects; + //private List _reflects; //private AKunTriggerChannelWaferTempData[] _tempDataArray; @@ -113,18 +113,18 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps //DATA.Subscribe($"TempSensor.{Name}.CalZone", () => _calZone); #region 注册反射率数据 - _reflects = Enumerable - .Range(0, _waferNum) - .Select(i => new double[3]) - .ToList(); + //_reflects = Enumerable + // .Range(0, _waferNum) + // .Select(i => new double[3]) + // .ToList(); - for (int i = 0; i < _waferNum; i++) - { - var index = i; - DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect1", () => _reflects[index][0]); - DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect2", () => _reflects[index][1]); - DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect3", () => _reflects[index][2]); - } + //for (int i = 0; i < _waferNum; i++) + //{ + // var index = i; + // DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect1", () => _reflects[index][0]); + // DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect2", () => _reflects[index][1]); + // DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect3", () => _reflects[index][2]); + //} #endregion 注册反射率数据 @@ -289,7 +289,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps //昂坤的温度数据上位机在这里被动接受 //_calZone = _aKunTempManager.GetCalZone(); _trayTemp = _aKunTempManager.GetTrayTemp(); - _reflects = _aKunTempManager.GetReflectValue(); + //_reflects = _aKunTempManager.GetReflectValue(); return _aKunTempManager.GetWaferTemp(); }