Commit 41172313 张东亮

0112

1 个父辈 ca8c4274
...@@ -237,7 +237,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -237,7 +237,7 @@ namespace OnlineStore.DeviceLibrary
} }
else if (runStatus.Equals(RunStatus.Runing)) else if (runStatus.Equals(RunStatus.Runing))
{ {
//InLineTimerProcess(); InLineTimerProcess();
OutLineTimerProcess(); OutLineTimerProcess();
TranverseTimerProcess(); TranverseTimerProcess();
...@@ -259,10 +259,57 @@ namespace OnlineStore.DeviceLibrary ...@@ -259,10 +259,57 @@ namespace OnlineStore.DeviceLibrary
InProcess = false; InProcess = false;
} }
private DateTime il_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
private Stopwatch il_outstopCheckWarch = new Stopwatch();
private Stopwatch il_manualCheckWatch = new Stopwatch();
/// <summary>
/// 入料线体定时处理
/// </summary>
private void InLineTimerProcess()
{
TimeSpan span = DateTime.Now - il_lastCallAgvTime;
//出口有料架,需要通知agv取走料架
//每次叫小车时间间隔3分钟?
//出口信号需要持续1秒钟
if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.HIGH) && span.TotalSeconds > 60)
{
if (LastOutShelfId.Equals("000").Equals(false))
{
if (LineManager.checkWatch(il_outstopCheckWarch, 1000))
{
il_lastCallAgvTime = DateTime.Now;
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil.info(" 出料线体出口有料架" + LastOutShelfId + ",呼叫agv小车[" + Config.L2_AgvName + "] [NeedLeave] ");
agvClient.OutLine_NeedLeave(LastOutShelfId);
}
}
}
else if (span.TotalMilliseconds > StopDownMS)
{
il_outstopCheckWarch.Stop();
ClientAction currA = AgvClient.GetAction(Config.L2_AgvName);
if (currA.Equals(ClientAction.None) || currA.Equals(ClientAction.NeedLeave) || currA.Equals(ClientAction.NeedEnter))
{
if (IOManager.IOValue(IO_Type.L2_StopDown).Equals(IO_VALUE.HIGH))
{
IOManager.IOMove(IO_Type.L2_StopDown, IO_VALUE.LOW);
}
}
}
//如果是出口无料架,NeedLeave状态,改为None
if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && AgvClient.GetAction(Config.L2_AgvName).Equals(ClientAction.NeedLeave))
{
il_outstopCheckWarch.Stop();
LogUtil.info(" 出料线体出口无料架 ,更改[" + Config.L2_AgvName + "] 状态[None] ");
agvClient.OutLine_RFID = "";
agvClient.OutLine_None(LastOutShelfId);
}
}
private Stopwatch ol_noshelfWatch = new Stopwatch(); private Stopwatch ol_noshelfWatch = new Stopwatch();
private Stopwatch ol_noshelfWatch1 = new Stopwatch(); private Stopwatch ol_noshelfWatch1 = new Stopwatch();
private Stopwatch rfidWatch = new Stopwatch(); private Stopwatch rfidWatch = new Stopwatch();
private Stopwatch rfidNoWatch = new Stopwatch();
private DateTime ol_lastSendShelfTime = DateTime.Now; private DateTime ol_lastSendShelfTime = DateTime.Now;
private int StopDownMS = 1500; private int StopDownMS = 1500;
/// <summary> /// <summary>
...@@ -280,10 +327,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -280,10 +327,10 @@ namespace OnlineStore.DeviceLibrary
if (IOManager.IOValue(IO_Type.L2_StopCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && span.TotalSeconds > 3) if (IOManager.IOValue(IO_Type.L2_StopCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && span.TotalSeconds > 3)
{ {
//如果出料线体出口无料架,放一个料架到出口 //如果出料线体出口无料架,放一个料架到出口
if (LineManager.checkWatch(ol_noshelfWatch, 1000)) if (LineManager.checkWatch(ol_noshelfWatch, 5000))
{ {
IOManager.CIOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L2_OutStopDown, IO_VALUE.LOW);
LogUtil.info(" Feeder2线体出口无料架,下降 [" + IO_Type.L2_StopDown + "] [" + StopDownMS + "] 秒"); LogUtil.info(" 出料线体出口无料架,下降 [" + IO_Type.L2_StopDown + "] [" + StopDownMS + "] 秒");
ol_lastSendShelfTime = DateTime.Now; ol_lastSendShelfTime = DateTime.Now;
StopIOMove(IO_Type.L2_StopDown, StopDownMS); StopIOMove(IO_Type.L2_StopDown, StopDownMS);
} }
...@@ -296,7 +343,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -296,7 +343,7 @@ namespace OnlineStore.DeviceLibrary
{ {
StopIOMove(IO_Type.L1_OutStopDown, StopDownMS); StopIOMove(IO_Type.L1_OutStopDown, StopDownMS);
Thread.Sleep(1000); Thread.Sleep(1000);
LogUtil.info(" Feeder1线体出口无料架,下降 [" + IO_Type.L1_StopDown + "] [" + StopDownMS + "] 秒"); LogUtil.info(" 入料线体出口无料架,下降 [" + IO_Type.L1_StopDown + "] [" + StopDownMS + "] 秒");
ol_lastSendShelfTime = DateTime.Now; ol_lastSendShelfTime = DateTime.Now;
StopIOMove(IO_Type.L1_StopDown, StopDownMS); StopIOMove(IO_Type.L1_StopDown, StopDownMS);
} }
...@@ -309,16 +356,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -309,16 +356,6 @@ namespace OnlineStore.DeviceLibrary
IOManager.CIOMove(IO_Type.L1_StopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L1_StopDown, IO_VALUE.LOW);
IOManager.CIOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW); IOManager.CIOMove(IO_Type.L1_OutStopDown, IO_VALUE.LOW);
} }
if(IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.HIGH) && LineManager.checkWatch(rfidWatch, 2000))
{
agvClient.OutLine_NeedLeave(LastOutShelfId);
}
if (IOManager.IOValue(IO_Type.L2_OutCheck).Equals(IO_VALUE.LOW) && LineManager.checkWatch(rfidNoWatch, 2000))
{
agvClient.OutLine_RFID = "";
agvClient.OutLine_None(LastOutShelfId);
}
} }
private Task TranverseTask; private Task TranverseTask;
private static void TranverseProcess() private static void TranverseProcess()
...@@ -370,9 +407,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -370,9 +407,10 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(" TranverseProcess Finish"); LogUtil.info(" TranverseProcess Finish");
} }
private Stopwatch ol_tranverseShelfWatch = new Stopwatch(); private Stopwatch ol_tranverseShelfWatch = new Stopwatch();
private DateTime il_lastTranverseTime = DateTime.Now.AddMinutes(-5);
private void TranverseTimerProcess() private void TranverseTimerProcess()
{ {
TimeSpan span = DateTime.Now - il_lastCallAgvTime; TimeSpan span = DateTime.Now - il_lastTranverseTime;
//Feeder1出口有料架,Feeder2入口空 //Feeder1出口有料架,Feeder2入口空
//出口信号需要持续6秒钟 //出口信号需要持续6秒钟
if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW) && span.TotalSeconds > 6) if (IOManager.IOValue(IO_Type.L1_OutCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.L2_InCheck).Equals(IO_VALUE.LOW) && span.TotalSeconds > 6)
...@@ -382,12 +420,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -382,12 +420,12 @@ namespace OnlineStore.DeviceLibrary
if (TranverseTask ==null) if (TranverseTask ==null)
{ {
TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess)); TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess));
il_lastCallAgvTime = DateTime.Now; il_lastTranverseTime = DateTime.Now;
} }
else if (TranverseTask.IsCompleted) else if (TranverseTask.IsCompleted)
{ {
TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess)); TranverseTask = Task.Factory.StartNew(new Action(TranverseProcess));
il_lastCallAgvTime = DateTime.Now; il_lastTranverseTime = DateTime.Now;
} }
} }
...@@ -397,7 +435,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -397,7 +435,6 @@ namespace OnlineStore.DeviceLibrary
ol_tranverseShelfWatch.Stop(); ol_tranverseShelfWatch.Stop();
} }
} }
private DateTime il_lastCallAgvTime = DateTime.Now.AddMinutes(-5);
//private void LedProcess() //private void LedProcess()
//{ //{
......
...@@ -127,7 +127,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -127,7 +127,7 @@ namespace OnlineStore.DeviceLibrary
} }
//五秒后改为离开状态 //五秒后改为离开状态
Thread.Sleep(5000); Thread.Sleep(10000);
Feeder_In_Msg = "Feeder In: 调用 FinishEnter "; Feeder_In_Msg = "Feeder In: 调用 FinishEnter ";
LogUtil.info(Feeder_In_Msg); LogUtil.info(Feeder_In_Msg);
FinishEnter(InLine_Name); FinishEnter(InLine_Name);
...@@ -329,7 +329,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -329,7 +329,14 @@ namespace OnlineStore.DeviceLibrary
} }
return agvClient.IsConn; return agvClient.IsConn;
} }
public static ClientAction GetAction(string NodeName)
{
if (actionMap.ContainsKey(NodeName))
{
return actionMap[NodeName];
}
return ClientAction.None;
}
public void Dispose() public void Dispose()
{ {
try try
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!