alielie
2025-03-23 40014e6e41f1ec017a07b7a620b3c700807d0519
Plugin.TestResult/TestResultView.xaml.cs
@@ -1,4 +1,6 @@
using NationalInstruments.TestStand.Interop.API;
using HMI.Core.Util;
using HMI.UI.Util;
using NationalInstruments.TestStand.Interop.API;
using NationalInstruments.TestStand.Interop.UI.Ax;
using NationalInstruments.TestStand.Utility;
using Plugin.TestResult_WPF.Constant;
@@ -70,7 +72,7 @@
            ((System.ComponentModel.ISupportInitialize)(this.testApp)).BeginInit();//myClient为第三方控件名
            host.Child = testApp;
            ((System.ComponentModel.ISupportInitialize)(this.testApp)).EndInit();
            InitMainGrid();
            //InitTestStandEngine();
            //StartTestSequence();
        }
@@ -104,11 +106,21 @@
                    var cell = table.GetSingleCell(random.Next(table.GetSize()));
                    cell.SetStatus(CommonStatus.GetRandomStatus());
                    cell.SetInfos(random.Next(1000) + "", random.Next(1000) + "");
                    cell.SetInfos(new Info
                    {
                        step = random.Next(1000) + "",
                        value = random.Next(1000) + ""
                    });
                    table.SetStatusText(DateTime.Now + "");
                };
                sb.Start();
            }
        }
        private string CountIniPath;
        public void SetCountIniPath(string countIniPath)
        {
            CountIniPath = countIniPath;
        }
        public void InitMainGrid()
@@ -129,7 +141,7 @@
            for (int n = 0; n < cellCount; n++)
            {
                string name = n < names.Length ? names[n] : "";
                DataTable child = new DataTable(this, n, name, config);
                DataTable child = new DataTable(this, n, name, CountIniPath, config);
                mainGrid.Children.Add(child);
                tables[n] = child;
                nameTables[name] = child;
@@ -164,7 +176,8 @@
            }
            catch (Exception ex)
            {
                throw new Exception("初始化TS引擎失败:" + ex.Message);
                ViewControl.Logger.Error("InitTestStandEngine Failed.", ex);
                throw new Exception($"{this.lang("Ts.InitTestStandEngineFail")}: {ex.Message}");
            }
        }
@@ -179,7 +192,8 @@
            }
            catch (Exception ex)
            {
                throw new Exception("启动测试序列失败:" + ex.Message);
                ViewControl.Logger.Error("StartTestSequence Failed.", ex);
                throw new Exception($"{this.lang("Ts.StartTestSequenceFailed")}: {ex.Message}");
            }
        }
@@ -198,7 +212,8 @@
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
                ViewControl.Logger.Error("StopTest Failed.", ex);
                throw new Exception($"{this.lang("Ts.StopTestSequenceFailed")}: {ex.Message}");
            }
        }
@@ -216,7 +231,8 @@
            }
            catch (Exception ex)
            {
                MessageBox.Show("释放测试序列失败:" + ex.Message);
                MsgBoxHelper.Error(Window.GetWindow(this),
                    $"{this.lang("Ts.ReleaseSequenceFileFail")}: {ex.Message}");
            }
        }
@@ -313,6 +329,16 @@
                    int cellIndex = int.Parse(datas_10015[1]);
                    string status_10015 = datas_10015[2];
                    tables[ovenIndex].GetSingleCell(cellIndex).SetStatus(status_10015);
                    if (status_10015 == "OK" || status_10015 == "ok")
                    {
                        tables[ovenIndex].RefreshCount(1, 0);
                    }
                    else if (status_10015 == "ng" || status_10015 == "NG")
                    {
                        tables[ovenIndex].RefreshCount(0, 1);
                    }
                    return;
                }
                if (MethodCode == 7)
@@ -357,10 +383,21 @@
                    tables[ovenIndex].GetSingleCell(cellIndex).ClearInfo();
                    return;
                }
                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;
                }
            }
            catch (Exception ex)
            {
                ViewControl.Logger.Warn("TestStand Event Error.", ex);
            }
        }
@@ -375,9 +412,23 @@
            //bool val = this.SequenceContext.StationGlobals.GetValBoolean(key, 0);
        }
        public void SetSnrToSeqContext(int index, string snr)
        public void ReleaseResource()
        {
            foreach (var table in tables)
            {
                table.RelaseResource();
            }
        }
        /// <summary>
        /// 计数清零
        /// </summary>
        public void ClearNumber()
        {
            foreach (var table in tables)
            {
                table.ClearNumber();
            }
        }
    }
}