4.8 KiB
4.8 KiB
液体吸收测试报告表格实现总结
已完成的功能
1. 表格结构设计
-
列结构:1个序号列 + 5个试样(每个试样3列)= 16列
- 序号列:显示行名称
- 每个试样包含:
- 系统读数(黄色背景,只读)
- 手动输入(白色背景,可编辑)
- 系统计算(黄色背景,只读)
-
行结构:6行数据
- 吸水时间(s)- 从寄存器读取
- 吸芯高度(mm)- 手动输入
- 芯吸速率(mm/min)- 自动计算
- 平均芯吸速率(mm/min)- 自动计算
- 标准偏差 - 自动计算
- 互检/审核 - 预留填充
2. 数据处理功能
数据读取
- 吸水时间(s):通过
ReadRegisterData()方法从寄存器读取 - 定时器每秒自动更新一次数据
- 支持5个试样同时读取
手动输入
- 吸芯高度(mm):用户可在"手动输入"列直接编辑
- 编辑后自动触发重新计算
自动计算
// 芯吸速率计算公式
芯吸速率 = 吸芯高度(mm) / (吸水时间(s) / 60)
// 平均芯吸速率
平均芯吸速率 = Average(所有试样的芯吸速率)
// 标准偏差
标准偏差 = StdDev(所有试样的芯吸速率)
3. 界面功能
按钮功能
- 连接设备:启动/停止从寄存器读取数据
- 模拟数据:生成测试数据用于演示
- 导出:导出数据到Excel文件
- 打印:预留功能
- 返回:关闭窗口
样式设置
- 黄色背景:系统自动填充的数据(只读)
- 白色背景:可手动输入的数据(可编辑)
- 居中对齐:所有单元格内容
- 数值格式:保留2位小数
4. Excel导出功能
表头结构
- 第一行:试样1-5(每个试样合并3列)
- 第二行:系统读数、手动输入、系统计算
- 序号列:合并两行
样式保持
- 黄色背景:系统读数和系统计算列
- 白色背景:手动输入列
- 边框:所有单元格
- 居中对齐:所有内容
5. 数据验证
计算逻辑
- 优先使用系统读数(吸水时间)
- 优先使用手动输入(吸芯高度)
- 自动过滤无效数据(值为0的数据)
- 实时更新计算结果
代码结构
主要方法
// 初始化
InitializeDataTable() // 初始化数据表结构
InitializeDataGridView() // 初始化表格列
InitializeTimer() // 初始化定时器
InitializeEventHandlers() // 初始化事件处理
// 数据处理
ReadRegisterData() // 从寄存器读取数据
GenerateMockData() // 生成模拟数据
CalculateAllRows() // 计算所有行数据
CalculateWickingRate() // 计算芯吸速率
CalculateAverageWickingRate() // 计算平均芯吸速率
CalculateStandardDeviation() // 计算标准偏差
// 界面更新
UpdateDisplay() // 更新界面显示
RecalculateRow() // 重新计算指定行
// 导出功能
ExportToExcel() // 导出到Excel
GenerateReport() // 生成报表
事件处理
DataTimer_Tick() // 定时器事件
DataGridView1_CellValueChanged() // 单元格值改变事件
DataGridView1_CellFormatting() // 单元格格式化事件
Button1_Click() // 连接设备按钮
Button5_Click() // 模拟数据按钮
Button3_Click() // 导出按钮
使用流程
-
启动程序
- 自动初始化表格结构
- 显示6行数据行
-
连接设备
- 点击"连接设备"按钮
- 开始从寄存器读取吸水时间数据
- 数据显示在"系统读数"列(黄色背景)
-
输入数据
- 在"吸芯高度"行的"手动输入"列输入测量值
- 系统自动计算芯吸速率
-
查看结果
- 芯吸速率自动显示在"系统计算"列
- 平均芯吸速率和标准偏差自动计算
-
导出数据
- 点击"导出"按钮
- 选择保存位置
- 生成Excel文件
测试功能
模拟数据生成
- 点击"模拟数据"按钮
- 自动生成:
- 吸水时间:30-34秒之间的随机值
- 吸芯高度:50-70mm之间的随机值
- 自动计算其他数据
注意事项
- 数据精度:所有数值保留2位小数
- 计算顺序:先计算芯吸速率,再计算平均值和标准偏差
- 数据验证:自动过滤无效数据(值为0)
- 实时更新:修改手动输入列后立即重新计算
- Excel格式:导出的Excel文件保持与界面相同的格式
扩展功能建议
- 数据保存:添加数据库存储功能
- 历史记录:查看历史测试记录
- 打印功能:完善打印报表功能
- 数据校验:添加数据范围校验
- 多语言支持:支持中英文切换
- 图表显示:添加数据可视化图表