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
///