Commit 3fa3cb66 张东亮

添加锁,避免多线程导致流程异常

1 个父辈 27b1c4a9
...@@ -29,10 +29,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -29,10 +29,18 @@ namespace OnlineStore.DeviceLibrary
protected abstract void BaseTimerProcess(); protected abstract void BaseTimerProcess();
object locobj = new object();
protected override void mainTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) protected override void mainTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{ {
TimerProcess(); if (Monitor.TryEnter(locobj))
{
try
{
TimerProcess();
}
finally { Monitor.Exit(locobj); }
}
} }
public DateTime LastAlarmTime = DateTime.Now; public DateTime LastAlarmTime = DateTime.Now;
......
...@@ -19,7 +19,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -19,7 +19,7 @@ namespace OnlineStore.DeviceLibrary
/// 料盘放到出料口成功,并将料盘信息写入该口 /// 料盘放到出料口成功,并将料盘信息写入该口
/// </summary> /// </summary>
private void SetReelInfoToBuff() private void SetReelInfoToBuff()
{ {
if (CheckASide()) if (CheckASide())
{ {
BufferDataManager.AOutStoreInfo = MoveInfo.MoveParam.PosInfo.ToCopy(); BufferDataManager.AOutStoreInfo = MoveInfo.MoveParam.PosInfo.ToCopy();
...@@ -273,6 +273,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -273,6 +273,7 @@ namespace OnlineStore.DeviceLibrary
XAxis_To_P1(); XAxis_To_P1();
break; break;
case StepEnum.SO_19_InOutBackFromBuff: case StepEnum.SO_19_InOutBackFromBuff:
LogUtil.info("InSO_19");
//出库料盘放置成功,将料盘信息写入对应出料口 //出库料盘放置成功,将料盘信息写入对应出料口
SetReelInfoToBuff(); SetReelInfoToBuff();
if (MoveInfo.MoveParam.PosInfoBack == null) if (MoveInfo.MoveParam.PosInfoBack == null)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!