This commit is contained in:
BIN
CSI-Z420片剂四用仪.gxw
Normal file
BIN
CSI-Z420片剂四用仪.gxw
Normal file
Binary file not shown.
@@ -9,6 +9,8 @@
|
||||
// 硬度
|
||||
public ushort HardnessValue { get; set; }
|
||||
public ushort HardnessStartCoil { get; set; }
|
||||
public ushort HardnessStartCoil2 { get; set; }
|
||||
public ushort HardnessStartCoil3 { get; set; }
|
||||
public ushort HardnessCompleteCoil { get; set; }
|
||||
|
||||
// 脆碎度
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -123,8 +123,8 @@
|
||||
|
||||
<!-- 按钮区 -->
|
||||
<WrapPanel Grid.Row="3" HorizontalAlignment="Center" Margin="0,10">
|
||||
<Button Command="{Binding HardnessUpCommand}" Content="梁杆上升" Style="{StaticResource ActionButton}" Background="#FF9800" Margin="5 10 5 10"/>
|
||||
<Button Command="{Binding HardnessDownCommand}" Content="梁杆下降" Style="{StaticResource ActionButton}" Background="#FF9800"/>
|
||||
<!--<Button Command="{Binding HardnessUpCommand}" Content="梁杆上升" Style="{StaticResource ActionButton}" Background="#FF9800" Margin="5 10 5 10"/>
|
||||
<Button Command="{Binding HardnessDownCommand}" Content="梁杆下降" Style="{StaticResource ActionButton}" Background="#FF9800"/>-->
|
||||
<Button Command="{Binding HardnessResetCommand}" Content="复位" Style="{StaticResource ActionButton}" Background="#9E9E9E"/>
|
||||
<Button Command="{Binding PrintHardnessCommand}" Content="打印" Style="{StaticResource ActionButton}" Background="#607D8B"/>
|
||||
<Button Command="{Binding StartHardnessCommand}" Content="启动测试" Style="{StaticResource ActionButton}" Background="#4CAF50" Margin="5 0 0 0"/>
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace TabletTester2025
|
||||
{
|
||||
@@ -8,5 +10,31 @@ namespace TabletTester2025
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void OnHardnessUpPress(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (sender is Button btn && btn.DataContext is ViewModels.StationViewModel vm)
|
||||
vm.StartHardnessUp();
|
||||
}
|
||||
|
||||
private void OnHardnessUpRelease(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (sender is Button btn && btn.DataContext is ViewModels.StationViewModel vm)
|
||||
vm.StopHardnessUp();
|
||||
}
|
||||
|
||||
private void OnHardnessDownPress(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (sender is Button btn && btn.DataContext is ViewModels.StationViewModel vm)
|
||||
vm.StartHardnessDown();
|
||||
}
|
||||
|
||||
private void OnHardnessDownRelease(object sender, MouseButtonEventArgs e)
|
||||
{
|
||||
if (sender is Button btn && btn.DataContext is ViewModels.StationViewModel vm)
|
||||
vm.StopHardnessDown();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,9 @@
|
||||
"Port": 502,
|
||||
"SlaveId": 1,
|
||||
"HardnessValue": 100,
|
||||
"HardnessStartCoil": 10,
|
||||
"HardnessStartCoil": 70, //硬度工位1启动测试M70
|
||||
"HardnessStartCoil2": 70, //硬度工位1启动测试M70
|
||||
"HardnessStartCoil3": 70, //硬度工位1启动测试M70
|
||||
"HardnessCompleteCoil": 11,
|
||||
"FriabilityStartCoil": 20,
|
||||
"WeightBefore": 200,
|
||||
|
||||
Reference in New Issue
Block a user