Files
CSI-H238M/CSI-H238M/质量值验证测试.md
GukSang.Jin 5f5945e817 更新
2026-03-11 18:53:36 +08:00

6.6 KiB
Raw Permalink Blame History

滑块质量值获取验证测试

测试目的

验证系统在不同场景下是否正确获取和使用用户选择的滑块质量值200g/300g/500g确保法向力计算和报告生成的准确性。

测试场景

场景1默认质量值测试

操作步骤

  1. 启动程序,连接设备
  2. 不修改质量选择默认200g
  3. 选择标准 GB/T 10006-2021
  4. 执行测试
  5. 生成PDF报告

预期结果

  • UI显示滑块质量 = 200.0 g
  • 法向力计算W = 0.2 × 9.80665 = 1.96133 N
  • 报告显示:
    测试标准: GB/T 10006-2021
    滑块质量: 200.0 g
    测试速度: 100.0 mm/min
    测试行程: 80.0 mm
    
  • 摩擦系数计算:μ = F / 1.96133

场景2选择300g质量测试

操作步骤

  1. 启动程序,连接设备
  2. 在设置页选择滑块质量300g
  3. 选择标准 ISO 8295:1995
  4. 执行测试
  5. 生成PDF报告

预期结果

  • UI显示滑块质量 = 300.0 g
  • 法向力计算W = 0.3 × 9.80665 = 2.94200 N
  • 报告显示:
    测试标准: ISO 8295:1995
    滑块质量: 300.0 g
    测试速度: 100.0 mm/min
    测试行程: 80.0 mm
    
  • 摩擦系数计算:μ = F / 2.94200

场景3选择500g质量测试

操作步骤

  1. 启动程序,连接设备
  2. 在设置页选择滑块质量500g
  3. 选择标准 ASTM D1894-24
  4. 执行测试
  5. 生成PDF报告

预期结果

  • UI显示滑块质量 = 500.0 g
  • 法向力计算W = 0.5 × 9.80665 = 4.90333 N
  • 报告显示:
    测试标准: ASTM D1894-24
    滑块质量: 500.0 g
    测试速度: 150.0 mm/min
    测试行程: 150.0 mm
    
  • 摩擦系数计算:μ = F / 4.90333

场景4切换质量后选择标准

操作步骤

  1. 启动程序,连接设备
  2. 选择滑块质量200g
  3. 选择标准 GB/T 10006-2021
  4. 切换滑块质量为500g
  5. 执行测试
  6. 生成PDF报告

预期结果

  • UI显示滑块质量 = 500.0 g最新选择的值
  • 法向力计算W = 0.5 × 9.80665 = 4.90333 N
  • 报告显示:
    测试标准: GB/T 10006-2021
    滑块质量: 500.0 g
    测试速度: 100.0 mm/min
    测试行程: 80.0 mm
    
  • 摩擦系数计算:μ = F / 4.90333

场景5先选择标准后选择质量

操作步骤

  1. 启动程序,连接设备
  2. 选择标准 ISO 8295:1995
  3. 选择滑块质量300g
  4. 执行测试
  5. 生成PDF报告

预期结果

  • UI显示滑块质量 = 300.0 g
  • 法向力计算W = 0.3 × 9.80665 = 2.94200 N
  • 报告显示:
    测试标准: ISO 8295:1995
    滑块质量: 300.0 g
    测试速度: 100.0 mm/min
    测试行程: 80.0 mm
    
  • 摩擦系数计算:μ = F / 2.94200

场景6自定义模式质量测试

操作步骤

  1. 启动程序,连接设备
  2. 选择滑块质量300g
  3. 点击"自定义"按钮
  4. 修改水平测试速度为120 mm/min
  5. 点击"更新参数到设备"
  6. 执行测试
  7. 生成PDF报告

预期结果

  • UI显示滑块质量 = 300.0 g
  • 法向力计算W = 0.3 × 9.80665 = 2.94200 N
  • 报告显示:
    测试标准: 自定义
    滑块质量: 300.0 g
    测试速度: 120.0 mm/min
    测试行程: [用户设置的值] mm
    
  • 摩擦系数计算:μ = F / 2.94200

验证点检查清单

代码层面验证

  • Parameters.SledMass 默认值为 200.0g
  • ComboBox 双向绑定到 Parameters.SledMass
  • 选择标准时不覆盖 Parameters.SledMass
  • 法向力计算使用 parameters.SledMass
    double gravityForce = (parameters.SledMass / 1000.0) * 9.80665;
    
  • 报告生成使用 parameters.SledMass
    $"滑块质量: {parameters.SledMass:F1} g"
    

UI层面验证

  • 质量下拉框显示三个选项200g、300g、500g
  • 默认选中200g
  • 选择不同质量后UI立即更新
  • 选择标准后,质量值不变
  • 切换质量后,新值立即生效

计算层面验证

  • 200g质量法向力 = 1.96133 N
  • 300g质量法向力 = 2.94200 N
  • 500g质量法向力 = 4.90333 N
  • 摩擦系数 = 摩擦力 / 法向力
  • 不同质量下,相同摩擦力产生不同摩擦系数

报告层面验证

  • 报告显示用户选择的质量值
  • 报告显示选择的标准名称
  • 报告显示正确的测试速度和行程
  • 报告中的摩擦系数与计算值一致

关键代码位置

1. 质量属性定义Model.cs

private double _sledMass = 200.0;  // 默认值 200g

public double SledMass
{
    get => _sledMass;
    set { _sledMass = value; OnPropertyChanged(); }
}

2. UI绑定SettingsPage.xaml

<ComboBox SelectedValue="{Binding Parameters.SledMass, Mode=TwoWay}" 
          SelectedValuePath="Tag">
    <ComboBoxItem Content="200 g" Tag="200.0"/>
    <ComboBoxItem Content="300 g" Tag="300.0"/>
    <ComboBoxItem Content="500 g" Tag="500.0"/>
</ComboBox>

3. 标准选择不覆盖质量ViewModel.cs

// 更新所有相关参数(用于报告生成)
// 注意:不更新 SledMass保留用户在UI上选择的质量值
Parameters.Standard = standardName;
// Parameters.SledMass 保持用户选择的值200g/300g/500g
Parameters.TestSpeed = speed;
Parameters.TestStroke = displacement;

4. 法向力计算Services.cs

// 計算法向力重力W = m * g
// 質量單位從 g 轉換為 kg
double gravityForce = (parameters.SledMass / 1000.0) * GravityConstant;

5. 报告生成PdfReportService.cs

$"滑块质量: {parameters.SledMass:F1} g"

测试结论

修复前的问题

  • 选择标准时会强制将质量设置为200g
  • 用户选择的300g或500g质量会被覆盖
  • 导致法向力计算错误
  • 报告显示的质量值不正确

修复后的效果

  • 选择标准时保留用户选择的质量值
  • 法向力计算使用正确的质量值
  • 报告显示用户实际选择的质量值
  • 摩擦系数计算准确
  • 支持200g/300g/500g三种质量选择

注意事项

  1. 质量选择优先:建议用户先选择质量,再选择标准
  2. 质量可随时更改:用户可以在任何时候更改质量,新值立即生效
  3. 质量影响计算:不同质量会产生不同的法向力,从而影响摩擦系数
  4. 报告准确性:报告会显示测试时实际使用的质量值
  5. 标准独立性:选择标准只影响速度和位移,不影响质量

相关文档

  • 标准选择功能说明.md - 完整功能说明
  • CSI-H238M/ViewModels/ViewModel.cs - 标准选择逻辑
  • CSI-H238M/Services/Services.cs - 法向力计算
  • CSI-H238M/Services/PdfReportService.cs - 报告生成