整理昂坤测温

This commit is contained in:
hanqiangqiang 2026-08-20 09:10:12 +08:00
parent 532cba6e37
commit 545b0a689b
2 changed files with 33 additions and 63 deletions

View File

@ -195,66 +195,36 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps
return calZone; 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() public double[] GetWaferTemp()
{ {
double[] waferTemps = Enumerable.Repeat(_minTemp, _waferNum).ToArray(); double[] waferTemps = Enumerable.Repeat(_minTemp, _waferNum).ToArray();
if (_waferTempDataList.Count < _waferNum) if (_waferTempDataList.Count < _waferNum)
return waferTemps; 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++)
//{ //{
// //根据编号,获取同一分区所有温度数据 // waferTemps[i] = _waferTempDataList[i].Temp;
// 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作为提示
//} //}
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; return waferTemps;
} }

View File

@ -62,7 +62,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps
/// <summary> /// <summary>
/// 反射率数组 /// 反射率数组
/// </summary> /// </summary>
private List<double[]> _reflects; //private List<double[]> _reflects;
//private AKunTriggerChannelWaferTempData[] _tempDataArray; //private AKunTriggerChannelWaferTempData[] _tempDataArray;
@ -113,18 +113,18 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps
//DATA.Subscribe($"TempSensor.{Name}.CalZone", () => _calZone); //DATA.Subscribe($"TempSensor.{Name}.CalZone", () => _calZone);
#region #region
_reflects = Enumerable //_reflects = Enumerable
.Range(0, _waferNum) // .Range(0, _waferNum)
.Select(i => new double[3]) // .Select(i => new double[3])
.ToList(); // .ToList();
for (int i = 0; i < _waferNum; i++) //for (int i = 0; i < _waferNum; i++)
{ //{
var index = i; // var index = i;
DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect1", () => _reflects[index][0]); // 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}.Reflect2", () => _reflects[index][1]);
DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect3", () => _reflects[index][2]); // DATA.Subscribe($"TempSensor.{Name}.Wafer{index + 1}.Reflect3", () => _reflects[index][2]);
} //}
#endregion #endregion
@ -289,7 +289,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Temps
//昂坤的温度数据上位机在这里被动接受 //昂坤的温度数据上位机在这里被动接受
//_calZone = _aKunTempManager.GetCalZone(); //_calZone = _aKunTempManager.GetCalZone();
_trayTemp = _aKunTempManager.GetTrayTemp(); _trayTemp = _aKunTempManager.GetTrayTemp();
_reflects = _aKunTempManager.GetReflectValue(); //_reflects = _aKunTempManager.GetReflectValue();
return _aKunTempManager.GetWaferTemp(); return _aKunTempManager.GetWaferTemp();
} }