This commit is contained in:
xyy
2026-05-15 15:48:43 +08:00
parent a050c307a8
commit ee29fa104d
6 changed files with 54 additions and 11 deletions

View File

@@ -136,19 +136,21 @@ namespace TabletTester2025.ViewModels
DissolutionPlotModel.Series.Add(_dissolutionSeries);
// 硬度命令
HardnessUpCommand = new AsyncRelayCommand(async () =>
{
//HardnessUpCommand = new AsyncRelayCommand(async () =>
//{
// await _plc.WriteCoilAsync(0x20, true);
// await Task.Delay(100);
// await _plc.WriteCoilAsync(0x20, false);
//});
await _plc.WriteCoilAsync(0x20, true);
await Task.Delay(100);
await _plc.WriteCoilAsync(0x20, false);
});
HardnessDownCommand = new AsyncRelayCommand(async () =>
{
await _plc.WriteCoilAsync(0x21, true);
await Task.Delay(100);
await _plc.WriteCoilAsync(0x21, false);
});
HardnessResetCommand = new AsyncRelayCommand(() =>
{
_hardnessResults.Clear();
@@ -161,6 +163,7 @@ namespace TabletTester2025.ViewModels
Phase = TestPhase.Idle;
return Task.CompletedTask;
});
PrintHardnessCommand = new AsyncRelayCommand(async () => await PrintReport("硬度"));
// 脆碎度命令
@@ -249,7 +252,9 @@ namespace TabletTester2025.ViewModels
for (int i = 0; i < count; i++)
{
await _plc.WriteCoilAsync(_plcConfig.HardnessStartCoil, true);
await _plc.WriteCoilAsync((ushort)(StationId == 1 ? _plcConfig.HardnessStartCoil :
StationId == 2 ? _plcConfig.HardnessStartCoil2
: StationId == 3 ? _plcConfig.HardnessStartCoil3 : 0), true);
bool completed = false;
while (!completed && Phase == TestPhase.Running)
{
@@ -261,7 +266,12 @@ namespace TabletTester2025.ViewModels
HardnessValue = val;
await Task.Delay(1000);
}
HardnessAvg = _hardnessResults.Average();
HardnessMax= _hardnessResults.Max();
HardnessMin = _hardnessResults.Min();
HardnessRSD = (StandardDeviation(_hardnessResults) / HardnessAvg) * 100;
HardnessPass = HardnessAvg >= min && HardnessAvg <= max;
Phase = TestPhase.Completed;
@@ -464,7 +474,7 @@ namespace TabletTester2025.ViewModels
_ => ""
},
IsQualified = HardnessPass && FriabilityPass && DisintegrationPass && DissolutionPass
IsQualified = HardnessPass && FriabilityPass && DisintegrationPass && DissolutionPass
};
await Task.Run(() => _db.InsertBatch(batch));
@@ -529,5 +539,6 @@ namespace TabletTester2025.ViewModels
double sum = values.Sum(v => Math.Pow(v - avg, 2));
return Math.Sqrt(sum / values.Count);
}
}
}