From 9211ec11c112e18cd99e77f889a01110a70031ce Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 24 十一月 2025 17:47:15 +0800
Subject: [PATCH] 优化项目结构
---
Plugin.TestResult/TestResultView.xaml.cs | 208 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 154 insertions(+), 54 deletions(-)
diff --git a/Plugin.TestResult/TestResultView.xaml.cs b/Plugin.TestResult/TestResultView.xaml.cs
index 8cc204f..8db8a85 100644
--- a/Plugin.TestResult/TestResultView.xaml.cs
+++ b/Plugin.TestResult/TestResultView.xaml.cs
@@ -3,8 +3,8 @@
using NationalInstruments.TestStand.Interop.API;
using NationalInstruments.TestStand.Interop.UI.Ax;
using NationalInstruments.TestStand.Utility;
-using Plugin.TestResult_WPF.Constant;
using Plugin.TestResult_WPF.Model;
+using Plugin.TsSupport;
using System;
using System.Collections.Generic;
using System.Windows;
@@ -35,7 +35,7 @@
/// <summary>
/// 娴嬭瘯搴忓垪鎿嶄綔鍙ユ焺
/// </summary>
- private SequenceContext SequenceContext = null;
+ public SequenceContext SequenceContext { get; private set; } = null;
/// <summary>
/// 娴嬭瘯妯″瀷搴忓垪
/// </summary>
@@ -45,6 +45,8 @@
{
}
+
+ public bool IsRunning { get; set; } = false;
public TestResultView(BaseConfig config)
{
@@ -63,10 +65,10 @@
InitializeComponent();
- testApp = new AxApplicationMgr();
- testApp.ExitApplication += new EventHandler(this.axApplicationMgr_ExitApplication);
- testApp.UIMessageEvent += new _ApplicationMgrEvents_UIMessageEventEventHandler(this.axApplicationMgr_UIMessageEvent);
- testApp.ExecutionClosed += new _ApplicationMgrEvents_ExecutionClosedEventHandler(this.axApplicationMgr_ExecutionClosed);
+ testApp = TestAppManager.GetAxApplicationMgr();
+ testApp.ExitApplication += this.axApplicationMgr_ExitApplication;
+ testApp.UIMessageEvent += this.axApplicationMgr_UIMessageEvent;
+ testApp.ExecutionClosed += this.axApplicationMgr_ExecutionClosed;
((System.ComponentModel.ISupportInitialize)(this.testApp)).BeginInit();//myClient涓虹涓夋柟鎺т欢鍚�
@@ -79,42 +81,6 @@
private void Refresh()
{
- for (int i = 0; i < tables.Length; i++)
- {
- var sb = new System.Timers.Timer()
- {
- Interval = 1000,
- AutoReset = true,
- };
- var table = tables[i];
- Random random = new Random(i * 13);
- sb.Elapsed += (s, e) =>
- {
-
- table.SetTemperature(random.Next(100));
- for (int j = 0; j < 3; j++)
- {
- table.SetTemperature(j + "89", random.Next(100));
- }
- table.SetOkCount(random.Next(100));
- table.SetNgCount(random.Next(100));
- table.SetStatus(CommonStatus.GetRandomStatus());
- table.SetStartTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
- table.SetEndTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
- table.SetConsumeTime(random.Next(10000));
-
-
- var cell = table.GetSingleCell(random.Next(table.GetSize()));
- cell.SetStatus(CommonStatus.GetRandomStatus());
- cell.SetInfos(new Info
- {
- step = random.Next(1000) + "",
- value = random.Next(1000) + ""
- });
- table.SetStatusText(DateTime.Now + "");
- };
- sb.Start();
- }
}
private string CountIniPath;
@@ -155,7 +121,7 @@
public DataTable GetDataTable(int index)
{
- if (index > 0 && index < tables.Length) return tables[index];
+ if (index >= 0 && index < tables.Length) return tables[index];
return null;
}
@@ -172,7 +138,6 @@
this.testApp.LoginOnStart = false;
this.testApp.Start();
this.modeSeq = this.engine.GetSequenceFileEx(@"C:\Program Files\National Instruments\TestStand 2020\Components\Models\TestStandModels\ParallelModel.seq");
-
}
catch (Exception ex)
{
@@ -185,6 +150,7 @@
{
try
{
+ if (string.IsNullOrEmpty(testSeqFile)) return;
this.modeSeq = this.engine.GetSequenceFileEx(@"C:\Program Files\National Instruments\TestStand 2020\Components\Models\TestStandModels\ParallelModel.seq");
this.testSeq = this.engine.GetSequenceFileEx(this.testSeqFile, 0, TypeConflictHandlerTypes.ConflictHandler_UseGlobalType);
this.execution = this.engine.NewExecution(this.testSeq, "Test UUTs", this.modeSeq, false, 0, null, null, null);
@@ -358,10 +324,11 @@
{
step = values[0],
value = values[1],
- result = values[2],
- range = values[3],
- condition = values[4],
- updateTime = values[5]
+ limitUp = values[2],
+ limitDown = values[3],
+ unit = values[4],
+ result = values[5],
+ updateTime = values[6]
});
return;
}
@@ -385,13 +352,116 @@
}
if (MethodCode == 12)
{
- /// 淇濆瓨娓╁害鏂囦欢
- ///
+ /// 淇濆瓨鐐変綋娓╁害鏂囦欢
strData = e.uiMsg.StringData;
string[] datas = strData.Split(';');
int ovenIndex = int.Parse(datas[0]);
string folder = datas[1];
tables[ovenIndex].SaveTempFile(folder);
+ return;
+ }
+ if (MethodCode == 13)
+ {
+ /// 娣诲姞鐢垫祦鏁版嵁
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int ovenIndex = int.Parse(datas[0]);
+ int cellIndex = int.Parse(datas[1]);
+ double eData = double.Parse(datas[2]);
+ tables[ovenIndex].GetSingleCell(cellIndex).AddElectricData(eData);
+ return;
+ }
+ if (MethodCode == 14)
+ {
+ /// 娓呯┖鐢垫祦鍜岀數鍘嬫暟鎹�
+ strData = e.uiMsg.StringData;
+ int ovenIndex = int.Parse(strData);
+ tables[ovenIndex].ClearElectricData();
+ tables[ovenIndex].ClearVData();
+ return;
+ }
+
+ if (MethodCode == 15)
+ {
+ /// 淇濆瓨鐢垫祦鏁版嵁
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int ovenIndex = int.Parse(datas[0]);
+ int cellIndex = int.Parse(datas[1]);
+ string filePath = datas[2];
+ tables[ovenIndex].GetSingleCell(cellIndex).SaveElectricDataToCSV(filePath);
+ return;
+ }
+
+ if (MethodCode == 16)
+ {
+ /// 娣诲姞鐢靛帇鏁版嵁
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int ovenIndex = int.Parse(datas[0]);
+ int cellIndex = int.Parse(datas[1]);
+ double eData = double.Parse(datas[2]);
+ tables[ovenIndex].GetSingleCell(cellIndex).AddVData(eData);
+ return;
+ }
+
+ if (MethodCode == 17)
+ {
+ /// 淇濆瓨鐢靛帇鏁版嵁
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int ovenIndex = int.Parse(datas[0]);
+ int cellIndex = int.Parse(datas[1]);
+ string filePath = datas[2];
+ tables[ovenIndex].GetSingleCell(cellIndex).SaveVDataToCSV(filePath);
+ return;
+ }
+
+ if (MethodCode == 18)
+ {
+ /// 淇濆瓨绌翠綅娴嬭瘯鏁版嵁鍒癈SV
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int ovenIndex = int.Parse(datas[0]);
+ int cellIndex = int.Parse(datas[1]);
+ string filePath = datas[2];
+ tables[ovenIndex].GetSingleCell(cellIndex).SaveInfoToCSV(filePath);
+ return;
+ }
+
+ if (MethodCode == 19)
+ {
+ /// 淇濆瓨绌翠綅娴嬭瘯鏁版嵁鍒癝qlite
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int ovenIndex = int.Parse(datas[0]);
+ int cellIndex = int.Parse(datas[1]);
+ tables[ovenIndex].GetSingleCell(cellIndex).SaveInfoToDB();
+ return;
+ }
+
+ if (MethodCode == 20)
+ {
+ /// 娓呯┖鏉$爜
+ strData = e.uiMsg.StringData;
+ int ovenIndex = int.Parse(strData);
+ tables[ovenIndex].ClearAllSN();
+ return;
+ }
+
+ if (MethodCode == 99)
+ {
+ strData = e.uiMsg.StringData;
+ string[] datas = strData.Split(';');
+ int index = int.Parse(datas[0]);
+ if (MsgBoxHelper2.WarnChoose(datas[1], "鎻愮ず") == MessageBoxResult.OK)
+ {
+ SequenceContext.StationGlobals.SetValNumber($"StationState.Pipe[{index}]", 1, 1);
+ }
+ else
+ {
+ SequenceContext.StationGlobals.SetValNumber($"StationState.Pipe[{index}]", 1, 0);
+ }
return;
}
}
@@ -404,16 +474,19 @@
public void SetStartFlag(int index, bool data)
{
if (this.SequenceContext == null) return;
- char name = (char)(index + 65);
- string key = $"StationState.Start_{name}";
- this.engine.Globals.SetValBoolean(key, 0, data);
- bool val = this.engine.Globals.GetValBoolean(key, 0);
+ string name = tables[index].title;
+ string key = $"StationState.Start[{index}]";
+ this.engine.Globals.SetValBoolean(key, 1, data);
+ //bool val = this.engine.Globals.GetValBoolean(key, 0);
//this.SequenceContext.StationGlobals.SetValBoolean(key, 0, data);
//bool val = this.SequenceContext.StationGlobals.GetValBoolean(key, 0);
}
public void ReleaseResource()
{
+ testApp.ExitApplication -= this.axApplicationMgr_ExitApplication;
+ testApp.UIMessageEvent -= this.axApplicationMgr_UIMessageEvent;
+ testApp.ExecutionClosed -= this.axApplicationMgr_ExecutionClosed;
foreach (var table in tables)
{
table.RelaseResource();
@@ -430,5 +503,32 @@
table.ClearNumber();
}
}
+
+ public void SetProductSource(List<string> productSource)
+ {
+ foreach (var table in tables)
+ {
+ table.SetProductSource(productSource);
+ }
+ }
+
+ public void SetCurrentProduct(string currentProduct)
+ {
+ for (int i = 0; i < tables.Length; i++)
+ {
+ var table = tables[i];
+ // table.SetCurrentProduct(currentProduct);
+ string LookupStr = $"StationState.Model[{i}]";
+ string tableModel = engine?.Globals?.GetValString(LookupStr, 1);
+ table.SetCurrentProduct(tableModel);
+ }
+ }
+
+ public void SetOvenProduct(int index, string product)
+ {
+ string LookupStr = $"StationState.Model[{index}]";
+ engine?.Globals?.SetValString(LookupStr, 1, product);
+ engine?.CommitGlobalsToDisk(promptOnSaveConflicts: false);
+ }
}
}
--
Gitblit v1.9.1