From c4a3f8db90530a727ffab77c3bb5bb7d782792bf Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期一, 25 八月 2025 15:50:27 +0800
Subject: [PATCH] 上传代码;

---
 Plugin.TestResult/TestResultView.xaml.cs |   70 ++++++++++++++++++++++++++--------
 1 files changed, 53 insertions(+), 17 deletions(-)

diff --git a/Plugin.TestResult/TestResultView.xaml.cs b/Plugin.TestResult/TestResultView.xaml.cs
index 5d452eb..f2f148d 100644
--- a/Plugin.TestResult/TestResultView.xaml.cs
+++ b/Plugin.TestResult/TestResultView.xaml.cs
@@ -5,6 +5,7 @@
 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;
@@ -46,6 +47,8 @@
 
         }
 
+        public bool IsRunning { get; set; } = false;
+
         public TestResultView(BaseConfig config)
         {
             this.rowCount = config.Row;
@@ -63,10 +66,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涓虹涓夋柟鎺т欢鍚�
@@ -90,21 +93,21 @@
                 Random random = new Random(i * 13);
                 sb.Elapsed += (s, e) =>
                 {
-
+                    table.RefreshCount(1, 0);
                     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.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));
+                    tables[0].GetSingleCell(0).AddElectricData(random.Next(100));
 
-
-                    var cell = table.GetSingleCell(random.Next(table.GetSize()));
+                    var cell = tables[0].GetSingleCell(0);//table.GetSingleCell(random.Next(table.GetSize()));
                     cell.SetStatus(CommonStatus.GetRandomStatus());
                     cell.SetInfos(new Info
                     {
@@ -155,7 +158,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 +175,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)
             {
@@ -386,12 +388,41 @@
                 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();
+                    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;
                 }
             }
@@ -404,16 +435,19 @@
         public void SetStartFlag(int index, bool data)
         {
             if (this.SequenceContext == null) return;
-            char name = (char)(index + 65);
+            string name = tables[index].title;
             string key = $"StationState.Start_{name}";
-            this.engine.Globals.SetValBoolean(key, 0, data);
-            bool val = this.engine.Globals.GetValBoolean(key, 0);
+            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();
@@ -447,8 +481,10 @@
             }
         }
 
-        public void SetOvenProduct(int index, string product) { 
-            
+        public void SetOvenProduct(int index, string product)
+        {
+            string LookupStr = $"StationState.ProductModel_{tables[index].title}";
+            engine?.Globals?.SetValString(LookupStr, 1, product);
         }
     }
 }

--
Gitblit v1.9.1