From 006c98e5650b530e5220f279c1e803fefe69d40d Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期二, 25 十一月 2025 15:47:33 +0800
Subject: [PATCH] 优化一些东西;
---
Plugin.TsExecution/SingleControl.xaml.cs | 113 +++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 95 insertions(+), 18 deletions(-)
diff --git a/Plugin.TsExecution/SingleControl.xaml.cs b/Plugin.TsExecution/SingleControl.xaml.cs
index c82ecb6..8c3aec9 100644
--- a/Plugin.TsExecution/SingleControl.xaml.cs
+++ b/Plugin.TsExecution/SingleControl.xaml.cs
@@ -1,4 +1,5 @@
-锘縰sing HMI.Core.Util;
+锘縰sing HMI.Core.Manager;
+using HMI.Core.Util;
using HMI.Util;
using NationalInstruments.TestStand.Interop.API;
using Plugin.TsExecution.Entity;
@@ -10,6 +11,7 @@
using System.Timers;
using System.Windows;
using System.Windows.Controls;
+using System.Windows.Media;
namespace Plugin.TsExecution
{
@@ -23,7 +25,6 @@
protected void Set([CallerMemberName] string name = null)
{
-
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
@@ -58,15 +59,15 @@
}
}
- private double passNum;
- public double PassNum
+ private int passNum;
+ public int PassNum
{
get => passNum;
private set { Set(ref passNum, value); }
}
- private double failNum;
- public double FailNum
+ private int failNum;
+ public int FailNum
{
get => failNum;
private set { Set(ref failNum, value); }
@@ -99,6 +100,13 @@
set { Set(ref barcode, value); }
}
+ private string model = string.Empty;
+ public string Model
+ {
+ get { return model; }
+ set { Set(ref model, value); }
+ }
+
private string elapseTime = "00:00:00";
public string ElapseTime
{
@@ -108,7 +116,8 @@
if (value == "Start Timing")
{
this.refreshTimer.Enabled = true;
- TimeNow = DateTime.Now;
+ TestStartTime = DateTime.Now;
+ StepStartTime = DateTime.Now;
}
else
{
@@ -132,10 +141,11 @@
}
}
- private DateTime TimeNow = new DateTime();
+ private DateTime TestStartTime = new DateTime();
+ private DateTime StepStartTime = new DateTime();
private TimeSpan TimeCount = new TimeSpan();
- private Timer refreshTimer;
+ private System.Timers.Timer refreshTimer;
private string currentStep = "绛夊緟鎵爜";
public string CurrentStep
@@ -198,14 +208,24 @@
public int ProbeWarn { get; private set; }
+ private bool isAutoMode;
+ public bool IsAutoMode
+ {
+ get => isAutoMode;
+ set
+ {
+ Set(ref isAutoMode, value);
+ }
+ }
+
public SingleControl(int Index, string CountIniPath, int probeWarn)
{
- this.CountIniPath = CountIniPath;
DataContext = this;
+ this.CountIniPath = CountIniPath;
this.index = Index;
ProbeWarn = probeWarn;
- refreshTimer = new Timer()
+ refreshTimer = new System.Timers.Timer()
{
Interval = 100
};
@@ -213,6 +233,15 @@
ReadProbeCount();
ReadCounter();
InitializeComponent();
+ try
+ {
+ var value = ParameterManager.GetCommonParameterByName("AutoTestMode");
+ IsAutoMode = bool.Parse(value.Value);
+ }
+ catch
+ {
+ IsAutoMode = true;
+ }
//if (ProbeWarn > 0)
//{
// probeWarnPanel.Visibility = Visibility.Visible;
@@ -243,7 +272,7 @@
//AddTestData("1", "1", "1", "1", "1", "1", "1");
- TimeCount = DateTime.Now - TimeNow;
+ TimeCount = DateTime.Now - TestStartTime;
elapseTime = string.Format("{0:00}:{1:00}:{2:00}", TimeCount.Hours, TimeCount.Minutes, TimeCount.Seconds);
Set("ElapseTime");
Set("TestInfo");
@@ -274,8 +303,12 @@
Unit = unit,
Result = Status
};
- Dispatcher.BeginInvoke(new Action(() =>
+ table.Dispatcher.Invoke(new Action(() =>
{
+ var now = DateTime.Now;
+ var span = now - StepStartTime;
+ StepStartTime = now;
+ data.ConsumeTime = $"{(span.TotalMilliseconds / 1000d).ToString("F2")}s";
Datasource.Add(data);
table.ScrollIntoView(data);
}));
@@ -328,16 +361,20 @@
if (result == true)
{
PassNum += 1;
+ //Interlocked.Increment(ref passNum);
+ //Set("PassNum");
}
else if (result == false)
{
FailNum += 1;
+ //Interlocked.Increment(ref failNum);
+ //Set("FailNum");
}
TotalNum = PassNum + FailNum;
if (TotalNum != 0)
{
- PassRate = (PassNum / TotalNum);
+ PassRate = ((double)PassNum / TotalNum);
}
else
{
@@ -462,17 +499,57 @@
SequenceFileContext?.StationGlobals.SetValBoolean($"StationState.IsContinue_{index}", 1, true);
pausePanel.Visibility = Visibility.Collapsed;
break;
+ case "scannerSetting":
+ //ScannerSetting setting = new ScannerSetting()
+ //{
+ // Owner = Window.GetWindow(this)
+ //};
+ //setting.Open(true, $"Socket{index}", CountIniPath);
+ ShowScannerPanel();
+ break;
+ case "scannerOkBtn":
+ SendSnr2Ts();
+ break;
default:
break;
}
}
+ public void ShowScannerPanel()
+ {
+ //scannerPanel.Visibility = Visibility.Visible;
+ }
+
+ private void SendSnr2Ts()
+ {
+ //try
+ //{
+ // string snr = TbManualSnr.Text;
+ // SequenceFileContext?.StationGlobals.SetValString($"StationState.SN[{index}]", 1, snr);
+ // scannerPanel.Visibility = Visibility.Collapsed;
+ // TbManualSnr.Text = string.Empty;
+ //}
+ //catch (Exception ex)
+ //{
+ // ToastHelper.Error(ex.Message);
+ //}
+ }
private void pausePanel_Loaded(object sender, RoutedEventArgs e)
{
- var can = pausePanel;
- var modal = visualModal;
- Canvas.SetLeft(modal, (pausePanel.ActualWidth - visualModal.ActualWidth) / 2);
- Canvas.SetTop(modal, (pausePanel.ActualHeight - visualModal.ActualHeight) / 2);
+ if (sender == pausePanel)
+ {
+ var can = pausePanel;
+ var modal = visualModal;
+ Canvas.SetLeft(modal, (pausePanel.ActualWidth - visualModal.ActualWidth) / 2);
+ Canvas.SetTop(modal, (pausePanel.ActualHeight - visualModal.ActualHeight) / 2);
+ }
+ else
+ {
+ //var can = scannerPanel;
+ //var modal = scannerVisualModal;
+ //Canvas.SetLeft(modal, (scannerPanel.ActualWidth - scannerVisualModal.ActualWidth) / 2);
+ //Canvas.SetTop(modal, (scannerPanel.ActualHeight - scannerVisualModal.ActualHeight) / 2);
+ }
}
}
}
--
Gitblit v1.9.1