页面逻辑添加

This commit is contained in:
2026-04-23 09:35:57 +08:00
parent a982685d4b
commit e806b844fa
2 changed files with 38 additions and 5 deletions

View File

@@ -65,6 +65,39 @@ public static class ModbusHelper
MessageBox.Show("保存成功!\n" + filePath);
}
}
//保存方法
/// <summary>
/// 计算单眼视野面积
/// </summary>
/// <param name="groupData">20组数据每组72个通道</param>
/// <param name="threshold">有效亮度阈值如80</param>
/// <param name="standardTotalArea">标准视野面积如120</param>
/// <returns>计算好的面积</returns>
///
public static double CalculateEyeArea(List<double[]> groupData, double threshold, double standardArea)
{
double[] avg = new double[72];
for (int c = 0; c < 72; c++)
{
double sum = 0;
foreach (var g in groupData) sum += g[c];
avg[c] = sum / groupData.Count;
}
int valid = avg.Count(v => v >= threshold);
return (valid / 72.0) * standardArea;
}
//计算单眼面积调用的方法
//double leftArea = CalculateEyeArea(
// leftEye20Groups, // 左眼20组数据
// 80, // 阈值
// 120 // 标准面积
//);
//double rightArea = .CalculateEyeArea(
// rightEye20Groups, // 右眼20组数据
// 80, // 阈值
// 120 // 标准面积
//);
}

View File

@@ -91,7 +91,7 @@ namespace 头罩视野.Views
{
// 读取D1362开始的128个寄存器64个通道×2 参数定义PLC 设备号默认1数据起始地址D1362 要读的寄存器总数
ushort[] registers = _modbusMaster.ReadHoldingRegisters(
slaveAddress: 1, // 从站地址默认1
slaveAddress: 1, // 设备站默认1
startAddress: LeftEyeStartAddress,
numberOfPoints: ChannelCount * RegistersPerChannel
);
@@ -195,8 +195,8 @@ namespace 头罩视野.Views
{
_plcReadTimer?.Stop();
_plcReadTimer?.Dispose();
_modbusMaster?.Dispose();
ModbusHelper.TcpClient?.Close();
//_modbusMaster?.Dispose();
//ModbusHelper.TcpClient?.Close();
}
private void Page_Loaded(object sender, RoutedEventArgs e)