From 3ebe322e4d96720c4899ec942fd17fee21acfc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=94=84=E5=A4=B4?= Date: Mon, 19 Aug 2024 15:26:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=88=90time?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NDSD-Screwdriver/MainForm.cs | 103 ++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 31 deletions(-) diff --git a/NDSD-Screwdriver/MainForm.cs b/NDSD-Screwdriver/MainForm.cs index 1a45242..0c5b6f5 100644 --- a/NDSD-Screwdriver/MainForm.cs +++ b/NDSD-Screwdriver/MainForm.cs @@ -14,6 +14,7 @@ using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using System.Timers; using System.Windows.Forms; using System.Xml.Serialization; @@ -60,7 +61,7 @@ namespace NDSD_Screwdriver /// public IDbContext LogContext; - Thread flashThread; + // Thread flashThread; SerialPortFactory serialPort; @@ -116,10 +117,10 @@ namespace NDSD_Screwdriver FormUtils.LogInsert(LogContext, "服务端释放失败"); } } - if (flashThread != null) - { - flashThread.Abort(); - } + + timer.Close(); + timer.Dispose(); + } @@ -154,11 +155,13 @@ namespace NDSD_Screwdriver { FlashIndex = 0; textRFID = 0; - if (flashThread != null) - { - flashThread.Abort(); - } - FlashThread(); + + timer.Start(); + //if (flashThread != null) + //{ + // flashThread.Abort(); + //} + //FlashThread(); //读取rfid数据 @@ -205,8 +208,9 @@ namespace NDSD_Screwdriver { monitorEntities[i].RowEntitys[1].Value = RFIDStatesEntities[i].RFIDValue; } - flashThread.Start(); - + timer.Start(); + + RefreshRoll(); RefreshIO(); } @@ -359,7 +363,7 @@ namespace NDSD_Screwdriver } else { - flashThread.Abort(); + timer.Stop(); } flag = 1; break; @@ -407,11 +411,7 @@ namespace NDSD_Screwdriver SetRowsLightState(i, Brushes.Transparent); } } - if(flashThread.ThreadState == ThreadState.Running) - { - flashThread.Suspend(); - Thread.Sleep(100); - } + timer.Stop(); Thread.Sleep(100); //刷新IO的状态 for (int i = 0; i < RFIDStatesEntities.Count; i++) @@ -437,10 +437,7 @@ namespace NDSD_Screwdriver Thread.Sleep(100); } } - if (flashThread.ThreadState == ThreadState.Stopped) - { - flashThread.Resume(); - } + timer.Start(); RefreshRoll(); } @@ -560,27 +557,71 @@ namespace NDSD_Screwdriver }, cancellationTokenSource.Token); } + ///// + ///// 等待工作指示灯闪烁进程 + ///// + //private void FlashThread() + //{ + // //等待闪烁线程 + // flashThread = new Thread(() => + // { + // while (true) + // { + // DOperate.DTimeOpen(lightsEntities[FlashIndex].Yellow, 1); + // monitorEntities[FlashIndex].RowEntitys[2].Color = Brushes.Yellow; + // RefreshRoll(); + // Thread.Sleep(1000); + // monitorEntities[FlashIndex].RowEntitys[2].Color = Brushes.Transparent; + // RefreshRoll(); + // Thread.Sleep(1000); + // } + // }); + //} + + System.Timers.Timer timer = new System.Timers.Timer(1000); // 设置1秒间隔 /// /// 等待工作指示灯闪烁进程 /// - private void FlashThread() + private void FlashThreadTime() { - //等待闪烁线程 - flashThread = new Thread(() => + + int step = 0; + + timer.Elapsed += (sender, e) => { - while (true) + if (step == 0) { + step = 1; DOperate.DTimeOpen(lightsEntities[FlashIndex].Yellow, 1); monitorEntities[FlashIndex].RowEntitys[2].Color = Brushes.Yellow; - RefreshRoll(); - Thread.Sleep(1000); + } + else if (step == 1) + { + step=0; monitorEntities[FlashIndex].RowEntitys[2].Color = Brushes.Transparent; - RefreshRoll(); - Thread.Sleep(1000); } - }); + + RefreshRoll(); + }; + + + ////等待闪烁线程 + //flashThread = new Thread(() => + //{ + // while (true) + // { + // DOperate.DTimeOpen(lightsEntities[FlashIndex].Yellow, 1); + // monitorEntities[FlashIndex].RowEntitys[2].Color = Brushes.Yellow; + // RefreshRoll(); + // Thread.Sleep(1000); + // monitorEntities[FlashIndex].RowEntitys[2].Color = Brushes.Transparent; + // RefreshRoll(); + // Thread.Sleep(1000); + // } + //}); } + /// /// 获取Log ///