Commit 1c7108da 张东亮

同时启动环形线和单个移栽或者模块时,模块使用自己的定时器。避免与环行线定时器冲突

1 个父辈 9e1824ec
正在显示 76 个修改的文件 包含 31 行增加33 行删除
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
文件属性发生变化
......@@ -45,18 +45,7 @@ namespace OnlineStore.DeviceLibrary
protected abstract void CheckFixtureProcess();
protected override void mainTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if(Monitor.TryEnter(lockMainTimer))
{
try
{
TimerProcess();
}
finally
{
Monitor.Exit(lockMainTimer);
}
}
TimerProcess();
}
public DateTime LastAlarmTime = DateTime.Now;
public override void Alarm(LineAlarmType alarmType)
......@@ -149,34 +138,43 @@ namespace OnlineStore.DeviceLibrary
protected int TimerMaxSeconds = 3;
public void TimerProcess()
{
TimeSpan span = DateTime.Now - lastProTimer;
if (isInPro && span.TotalSeconds < TimerMaxSeconds)
{
return;
}
isInPro = true;
lastProTimer = DateTime.Now;
try
if (Monitor.TryEnter(lockMainTimer))
{
if (IsDebug&&runStatus<=LineRunStatus.Wait)
try
{
TimeSpan span = DateTime.Now - lastProTimer;
if (isInPro && span.TotalSeconds < TimerMaxSeconds)
{
return;
}
isInPro = true;
lastProTimer = DateTime.Now;
try
{
if (IsDebug && runStatus <= LineRunStatus.Wait)
{
isInPro = false;
return;
}
BaseTimerProcess();
if (TimerMaxSeconds > 3 && runStatus >= LineRunStatus.Runing)
{
TimerMaxSeconds = 3;
}
}
catch (Exception ex)
{
LogUtil.error(Name + "TimerProcess出错:", ex);
}
isInPro = false;
return;
}
BaseTimerProcess();
if (TimerMaxSeconds > 3 && runStatus >= LineRunStatus.Runing)
finally
{
TimerMaxSeconds = 3;
Monitor.Exit(lockMainTimer);
}
}
catch (Exception ex)
{
LogUtil.error(Name + "TimerProcess出错:",ex);
}
isInPro = false;
}
protected DateTime preIoTimerOutTime = DateTime.Now;
protected virtual void IOTimeOutProcess()
......
文件属性发生变化
文件属性发生变化
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!