This commit is contained in:
GukSang.Jin
2026-05-19 19:01:28 +08:00
parent 8ed011f91e
commit 375399607c

View File

@@ -1306,7 +1306,10 @@ namespace TabletTester2025.ViewModels
try
{
int count = Math.Max(1, HardnessTestCount);
ushort startCoil = ResolveHardnessStartCoil();
ushort completeCoil = ResolveHardnessCompleteCoil();
if (startCoil == 0)
throw new InvalidOperationException("硬度启动线圈未配置");
if (completeCoil == 0)
throw new InvalidOperationException("硬度完成线圈未配置");
if (_plcConfig.HardnessMax == 0)
@@ -1315,10 +1318,11 @@ namespace TabletTester2025.ViewModels
await _plc.WriteFloatAsync(_plcConfig.HardnessSudu, (float)HardnessSudu);
await _plc.WriteFloatAsync(_plcConfig.HardnessWeiyi, (float)HardnessWeiyi);
if (await _plc.ReadCoilAsync(completeCoil))
await WaitForCoilStateAsync(completeCoil, false, TimeSpan.FromSeconds(10), "硬度完成信号未复位");
bool completeWasActiveBeforeStart = await _plc.ReadCoilAsync(completeCoil);
await PulseCoilAsync(startCoil);
await PulseCoilAsync(_plcConfig.HardnessStartCoil);
if (completeWasActiveBeforeStart)
await WaitForCoilStateAsync(completeCoil, false, TimeSpan.FromSeconds(10), "硬度完成信号未复位");
while (Phase == TestPhase.Running && _hardnessResults.Count < count)
{
@@ -1357,6 +1361,13 @@ namespace TabletTester2025.ViewModels
: _plcConfig.HardnessCompleteCoil;
}
private ushort ResolveHardnessStartCoil()
{
return _plcConfig.HardnessStartCoil != 0
? _plcConfig.HardnessStartCoil
: (ushort)70;
}
private async Task<double> ReadHardnessResultAsync()
{
double value = await _plc.ReadFloatAsync(_plcConfig.HardnessMax);