From 40014e6e41f1ec017a07b7a620b3c700807d0519 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期日, 23 三月 2025 13:51:00 +0800
Subject: [PATCH] 新增DOControl

---
 Plugin.TsExecution/TsExecution.xaml.cs |  179 +++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 100 insertions(+), 79 deletions(-)

diff --git a/Plugin.TsExecution/TsExecution.xaml.cs b/Plugin.TsExecution/TsExecution.xaml.cs
index 4e71b42..a674983 100644
--- a/Plugin.TsExecution/TsExecution.xaml.cs
+++ b/Plugin.TsExecution/TsExecution.xaml.cs
@@ -106,6 +106,16 @@
         private Pie pie;
         private string CountIniPath;
 
+        private bool alarmVisiable;
+        public bool AlarmVisiable
+        {
+            get => alarmVisiable;
+            set
+            {
+                Set(ref alarmVisiable, value);
+            }
+        }
+
         public TsExecution()
         {
             DataContext = this;
@@ -238,16 +248,21 @@
 
         private void RefershUI()
         {
-            if (this.tsSockets.Count == 0)
+            panel.Children.Clear();
+            //閲嶆柊鐢熸垚瀛愰潰鏉�
+            for (int i = 0; i < this.socketNum; i++)
             {
-                panel.Children.Clear();
-                //閲嶆柊鐢熸垚瀛愰潰鏉�
-                for (int i = 0; i < this.socketNum; i++)
-                {
-                    SingleControl control = new SingleControl(i, CountIniPath);
-                    panel.Children.Add(control);
-                    tsSockets.Add(control);
-                }
+                SingleControl control = new SingleControl(i, CountIniPath);
+                panel.Children.Add(control);
+                tsSockets.Add(control);
+            }
+            if (tsSockets.Count == 1)
+            {
+                panel.Columns = 1;
+            }
+            else
+            {
+                panel.Columns = 2;
             }
         }
 
@@ -500,100 +515,106 @@
         /// <param name="e"></param>
         private void AxApplicationMgr_UIMessageEvent(object sender, _ApplicationMgrEvents_UIMessageEventEvent e)
         {
-            int EventCase = Convert.ToInt32(e.uiMsg.Event);
-            int Index = Convert.ToInt16(e.uiMsg.NumericData);//SocketIndex
-
-            switch (EventCase)
+            try
             {
-                case 10001://浼犻�扴ocketContext
-                    tsSockets[Index].SequenceFileContext = (SequenceContext)e.uiMsg.ActiveXData;
-                    break;
+                int EventCase = Convert.ToInt32(e.uiMsg.Event);
+                int Index = Convert.ToInt16(e.uiMsg.NumericData);//SocketIndex
+                switch (EventCase)
+                {
+                    case 10001://浼犻�扴ocketContext
+                        tsSockets[Index].SequenceFileContext = (SequenceContext)e.uiMsg.ActiveXData;
+                        break;
 
-                case 10002://鏇存柊娴嬭瘯鐘舵��
-                    string status = e.uiMsg.StringData;
-                    this.tsSockets[Index].UpdateStatus(status);
-                    this.UpdateTestCounter();
-                    break;
+                    case 10002://鏇存柊娴嬭瘯鐘舵��
+                        string status = e.uiMsg.StringData;
+                        this.tsSockets[Index].UpdateStatus(status);
+                        this.UpdateTestCounter();
+                        break;
 
-                case 10003://鍙戦�佹祴璇曟暟鎹�
-                    string[] TestItems = e.uiMsg.StringData.Split('\t');
-                    tsSockets[Index].AddTestData(TestItems[0], TestItems[4], TestItems[1], TestItems[2], TestItems[3], TestItems[5]);
+                    case 10003://鍙戦�佹祴璇曟暟鎹�
+                        string[] TestItems = e.uiMsg.StringData.Split('\t');
+                        tsSockets[Index].AddTestData(TestItems[0], TestItems[4], TestItems[1], TestItems[2], TestItems[3], TestItems[5]);
 
-                    break;
+                        break;
 
-                case 10004://鍙戦�佹祴璇曡繃绋嬩俊鎭�
-                    this.tsSockets[Index].CurrentStep = e.uiMsg.StringData;
-                    break;
+                    case 10004://鍙戦�佹祴璇曡繃绋嬩俊鎭�
+                        this.tsSockets[Index].CurrentStep = e.uiMsg.StringData;
+                        break;
 
-                case 10005://鍒濆鍖栨祴璇曟暟鎹紝娓呯┖娴嬭瘯鏁版嵁
-                    this.tsSockets[Index].IniTestData();
-                    break;
+                    case 10005://鍒濆鍖栨祴璇曟暟鎹紝娓呯┖娴嬭瘯鏁版嵁
+                        this.tsSockets[Index].IniTestData();
+                        break;
 
-                case 10006://鍙戦�佷骇鍝佹潯鐮�
-                    this.tsSockets[Index].Barcode = e.uiMsg.StringData;
-                    break;
+                    case 10006://鍙戦�佷骇鍝佹潯鐮�
+                        this.tsSockets[Index].Barcode = e.uiMsg.StringData;
+                        break;
 
-                case 10007://寮�濮嬫祴璇曡鏃�
-                    tsSockets[Index].ElapseTime = "Start Timing";
-                    BtnStopSeq.IsEnabled = false;
-                    break;
+                    case 10007://寮�濮嬫祴璇曡鏃�
+                        tsSockets[Index].ElapseTime = "Start Timing";
+                        BtnStopSeq.IsEnabled = false;
+                        break;
 
-                case 10008://鍋滄娴嬭瘯璁℃椂
-                    tsSockets[Index].ElapseTime = "Stop Timing";
-                    BtnStopSeq.IsEnabled = true;
-                    break;
+                    case 10008://鍋滄娴嬭瘯璁℃椂
+                        tsSockets[Index].ElapseTime = "Stop Timing";
+                        BtnStopSeq.IsEnabled = true;
+                        break;
 
-                case 10009:
-                    // reset the value of controls units failed/pass rate
-                    break;
+                    case 10009:
+                        // 
+                        break;
 
-                case 10010:
+                    case 10010:
 
-                    //PropertyObj.SetValBoolean("Locals.MD5_Used", 0, true);
-                    //PropertyObj.SetValVariant("FileGlobals.MD5_Value", 0, MD5_DATA);
-                    //PropertyObj.SetValVariant("StationGlobals.MD5", 0, MD5_DATA);
-                    break;
+                        //PropertyObj.SetValBoolean("Locals.MD5_Used", 0, true);
+                        //PropertyObj.SetValVariant("FileGlobals.MD5_Value", 0, MD5_DATA);
+                        //PropertyObj.SetValVariant("StationGlobals.MD5", 0, MD5_DATA);
+                        break;
 
-                case 10011:
-                    // write model
+                    case 10011:
+                        // write model
 
-                    break;
+                        break;
 
-                case 10012:
-                    // read model
+                    case 10012:
+                        // read model
 
-                    break;
+                        break;
 
-                case 10013:
-                    // read continue
+                    case 10013:
+                        // read continue
 
 
-                    break;
+                        break;
 
-                case 10014:
+                    case 10014:
 
-                    break;
+                        break;
 
-                case 10015:
+                    case 10015:
 
-                    break;
-                case 10016://鏄剧ず3D鎷兼帴鍥剧墖
+                        break;
+                    case 10016://鏄剧ず3D鎷兼帴鍥剧墖
 
-                    break;
-                case 10017://鏇存柊娴嬭瘯璁℃椂锛岄拡瀵归儴鍒嗚鏃舵湁PLC瀹屾垚鐨勯」鐩�
-                    this.tsSockets[Index].ElapseTime = e.uiMsg.StringData;
-                    break;
-                case (int)UIMessageCodes.UIMsg_EndExecution://鎵ц缁撴潫
-                    this.BtnStartSeq.IsEnabled = true;
-                    this.BtnStopSeq.IsEnabled = true;
-                    // this.ReleaseSequenceFile();
-                    break;
-                case 10030://鏄剧ず娴嬭瘯杩涘害
-                    int ProcessVal = Convert.ToInt32(e.uiMsg.StringData);
-                    this.tsSockets[Index].SetTestProcess(ProcessVal);
-                    break;
-                default:
-                    break;
+                        break;
+                    case 10017://鏇存柊娴嬭瘯璁℃椂锛岄拡瀵归儴鍒嗚鏃舵湁PLC瀹屾垚鐨勯」鐩�
+                        this.tsSockets[Index].ElapseTime = e.uiMsg.StringData;
+                        break;
+                    case (int)UIMessageCodes.UIMsg_EndExecution://鎵ц缁撴潫
+                        this.BtnStartSeq.IsEnabled = true;
+                        this.BtnStopSeq.IsEnabled = true;
+                        // this.ReleaseSequenceFile();
+                        break;
+                    case 10030://鏄剧ず娴嬭瘯杩涘害
+                        int ProcessVal = Convert.ToInt32(e.uiMsg.StringData);
+                        this.tsSockets[Index].SetTestProcess(ProcessVal);
+                        break;
+                    default:
+                        break;
+                }
+            }
+            catch (Exception ex)
+            {
+                log.Warn("Ts Event Error.", ex);
             }
         }
 

--
Gitblit v1.9.1