This commit is contained in:
GukSang.Jin
2026-05-19 21:17:29 +08:00
parent ce62b19960
commit 18d317623d
3 changed files with 20 additions and 1 deletions

View File

@@ -28,6 +28,7 @@
public ushort HardnessPressure { get; set; }
// 脆碎度
public ushort FriabilityStartCoil { get; set; }
public ushort FriabilityRpm { get; set; }
public ushort FriabilityRounds { get; set; }
public ushort FriabilityRoundsBox { get; set; } // 兼容旧配置字段
public ushort FriabilityTestTime { get; set; }

View File

@@ -22,6 +22,7 @@ namespace TabletTester2025
await LoadHardnessDamageThresholdAsync();
// 脆碎度
await LoadPlcFloatToTextBoxAsync(ResolveFriabilityRpmRegister(), FriabilityRpmBox);
await LoadPlcIntToTextBoxAsync(ResolveFriabilityRoundsRegister(), FriabilityRoundsBox);
// 崩解
@@ -70,7 +71,8 @@ namespace TabletTester2025
p.HardnessTestCount = int.Parse(HardnessCountBox.Text);
double hardnessPressure = ParseFiniteDouble(HardnessPressureBox.Text, "加压压力");
int hardnessDamageThreshold = ParsePositiveInt(HardnessDamageThresholdBox.Text, "硬度破损判定");
p.FriabilityTargetRpm = ParseFiniteDouble(FriabilityRpmBox.Text, "脆碎度转速");
double friabilityRpm = ParseFiniteDouble(FriabilityRpmBox.Text, "脆碎度转速");
p.FriabilityTargetRpm = friabilityRpm;
p.FriabilityTargetTimeMin = ParseFiniteDouble(FriabilityTimeBox.Text, "脆碎度试验时间");
p.FriabilityTargetRounds = ParsePositiveInt(FriabilityRoundsBox.Text, "脆碎圈数");
p.FriabilityMaxLossPercent = ParseFiniteDouble(FriabilityMaxLossBox.Text, "最大失重率");
@@ -92,6 +94,7 @@ namespace TabletTester2025
ValidateParameters(p);
await WriteHardnessPressureAsync(hardnessPressure);
await WriteHardnessDamageThresholdAsync(hardnessDamageThreshold);
await WriteFriabilityRpmAsync(friabilityRpm);
App.CurrentPharmaParams = p;
App.SaveCurrentPharmaParameters();
@@ -275,6 +278,20 @@ namespace TabletTester2025
catch { textBox.Text = ""; }
}
private static async Task WriteFriabilityRpmAsync(double value)
{
ushort registerAddress = ResolveFriabilityRpmRegister();
if (registerAddress == 0)
throw new InvalidOperationException("脆碎度转速PLC寄存器地址未配置。");
await App.PlcService.WriteFloatAsync(registerAddress, (float)value);
}
private static ushort ResolveFriabilityRpmRegister()
{
return App.PlcConfig.FriabilityRpm != 0 ? App.PlcConfig.FriabilityRpm : (ushort)320;
}
private static ushort ResolveFriabilityRoundsRegister()
{
if (App.PlcConfig.FriabilityRounds != 0)

View File

@@ -26,6 +26,7 @@
"HardnessMax": 72, //最大力采集
"HardnessShishilizhi": 1314, //力显示
"FriabilityRpm": 320, // 脆碎度转速 r/min
"FriabilityRounds": 410, // 脆碎圈数
"FriabilityRoundsBox": 410, // 兼容旧字段:脆碎圈数
"DisintegrationSeconds": 420, //崩解时间