This commit is contained in:
xyy
2026-03-11 20:37:53 +08:00
parent b42ee7aa07
commit df022fc848
2 changed files with 40 additions and 12 deletions

View File

@@ -129,28 +129,40 @@ namespace MembranePoreTester.ViewModels
{ {
try try
{ {
// 始终读取压力
float rawPressure = await _plcService.ReadPressureAsync(); float rawPressure = await _plcService.ReadPressureAsync();
float rawWetFlow = await _plcService.ReadWetFlowAsync();
float rawDryFlow = await _plcService.ReadDryFlowAsync();
double pressure = rawPressure * _plcConfig.PressureFactor; double pressure = rawPressure * _plcConfig.PressureFactor;
double wetFlow = rawWetFlow * _plcConfig.WetFlowFactor;
double dryFlow = rawDryFlow * _plcConfig.DryFlowFactor;
if (SelectedDataPoint != null) if (SelectedDataPoint != null)
{ {
// 更新选中行
SelectedDataPoint.Pressure = pressure; SelectedDataPoint.Pressure = pressure;
SelectedDataPoint.WetFlow = wetFlow; if (TestMode == "湿膜")
SelectedDataPoint.DryFlow = dryFlow; {
float rawWet = await _plcService.ReadWetFlowAsync();
SelectedDataPoint.WetFlow = rawWet * _plcConfig.WetFlowFactor;
}
else
{
float rawDry = await _plcService.ReadDryFlowAsync();
SelectedDataPoint.DryFlow = rawDry * _plcConfig.DryFlowFactor;
}
} }
else else
{ {
Record.DataPoints.Add(new DataPoint // 新增一行
var newPoint = new DataPoint { Pressure = pressure };
if (TestMode == "湿膜")
{ {
Pressure = pressure, float rawWet = await _plcService.ReadWetFlowAsync();
WetFlow = wetFlow, newPoint.WetFlow = rawWet * _plcConfig.WetFlowFactor;
DryFlow = dryFlow }
}); else
{
float rawDry = await _plcService.ReadDryFlowAsync();
newPoint.DryFlow = rawDry * _plcConfig.DryFlowFactor;
}
Record.DataPoints.Add(newPoint);
} }
} }
catch (Exception ex) catch (Exception ex)
@@ -309,5 +321,15 @@ namespace MembranePoreTester.ViewModels
MessageBox.Show("导出成功"); MessageBox.Show("导出成功");
} }
} }
private string _testMode = "湿膜";
public string TestMode
{
get => _testMode;
set => SetProperty(ref _testMode, value);
}
} }
} }

View File

@@ -69,6 +69,12 @@
<StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="0,0,0,5"> <StackPanel DockPanel.Dock="Top" Orientation="Horizontal" Margin="0,0,0,5">
<Button Content="添加行" Command="{Binding AddDataPointCommand}" Padding="10,5" Margin="5"/> <Button Content="添加行" Command="{Binding AddDataPointCommand}" Padding="10,5" Margin="5"/>
<Button Content="删除行" Command="{Binding RemoveDataPointCommand}" Padding="10,5" Margin="5"/> <Button Content="删除行" Command="{Binding RemoveDataPointCommand}" Padding="10,5" Margin="5"/>
<!-- 新增:模式选择 -->
<ComboBox SelectedItem="{Binding TestMode}" Width="80" Margin="5">
<ComboBoxItem Content="湿膜" IsSelected="True"/>
<ComboBoxItem Content="干膜"/>
</ComboBox>
<Button Content="读取PLC" Command="{Binding ReadPlcCommand}" Padding="10,5" Margin="5"/> <Button Content="读取PLC" Command="{Binding ReadPlcCommand}" Padding="10,5" Margin="5"/>
</StackPanel> </StackPanel>
<DataGrid ItemsSource="{Binding Record.DataPoints}" AutoGenerateColumns="False" CanUserAddRows="False"> <DataGrid ItemsSource="{Binding Record.DataPoints}" AutoGenerateColumns="False" CanUserAddRows="False">