|
|
|
@ -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
|
|
|
|
|
/// </summary>
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
|
///// 等待工作指示灯闪烁进程
|
|
|
|
|
///// </summary>
|
|
|
|
|
//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秒间隔
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 等待工作指示灯闪烁进程
|
|
|
|
|
/// </summary>
|
|
|
|
|
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);
|
|
|
|
|
// }
|
|
|
|
|
//});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取Log
|
|
|
|
|
/// </summary>
|
|
|
|
|