Commit 6660d2b8 张东亮

20220827

1 个父辈 3351fb59
...@@ -207,7 +207,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -207,7 +207,11 @@ namespace OnlineStore.DeviceLibrary
//if (wait.IsDO) //if (wait.IsDO)
//{ //{
// if (IOManager.DOValue(wait.IoType).Equals(wait.IoValue).Equals(false)) // if (IOManager.DOValue(wait.IoType).Equals(wait.IoValue).Equals(false))
// {
// IOMove(wait.IoType, wait.IoValue); // IOMove(wait.IoType, wait.IoValue);
// LogInfo(" [" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]重写DO: " + wait.ToStr());
// }
//} //}
TimeSpan rwSpan = DateTime.Now - preRWTime; TimeSpan rwSpan = DateTime.Now - preRWTime;
......
...@@ -117,7 +117,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -117,7 +117,6 @@ namespace OnlineStore.DeviceLibrary
private void ReturnHome() private void ReturnHome()
{ {
LHighProcess = false; LHighProcess = false;
LowProcess = false;
S1_ShelfTask = new ShelfTaskInfo(); S1_ShelfTask = new ShelfTaskInfo();
S2CanGetShelf = true; S2CanGetShelf = true;
needNewShelf = ""; needNewShelf = "";
...@@ -387,10 +386,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -387,10 +386,10 @@ namespace OnlineStore.DeviceLibrary
{ {
//LeftRobot.TimerProcess(); //LeftRobot.TimerProcess();
//RightRobot.TimerProcess(); //RightRobot.TimerProcess();
ShelfCheckPro();
if (MoveInfo.MoveType.Equals(LineMoveType.None)) if (MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
//WorkShelfCheck(); //WorkShelfCheck();
ShelfCheckPro();
} }
else if (MoveInfo.MoveType.Equals(LineMoveType.LTransWork2Buf)) else if (MoveInfo.MoveType.Equals(LineMoveType.LTransWork2Buf))
{ {
...@@ -477,11 +476,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -477,11 +476,11 @@ namespace OnlineStore.DeviceLibrary
if (!io.Equals(preStop)) if (!io.Equals(preStop))
{ {
preStop = io; preStop = io;
LogUtil.info($"右下层信号(LLow_StopCylinder2)变化为{io.ToString()}"); LogUtil.info($"左下层出口阻挡信号(LLow_StopCylinder2)变化为{io.ToString()}");
} }
} }
catch(Exception ex) { catch(Exception ex) {
LogUtil.error($"右下层信号(LLow_StopCylinder2)变化监测出错",ex); LogUtil.error($"左下层出口阻挡信号(LLow_StopCylinder2)变化监测出错",ex);
} }
DateTime time = DateTime.Now; DateTime time = DateTime.Now;
......
...@@ -225,12 +225,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -225,12 +225,12 @@ namespace OnlineStore.DeviceLibrary
{ {
if (needNewShelf.EndsWith(Static_String.BigShelf_RFID_Prefix) || needNewShelf.StartsWith(Static_String.BigShelf_RFID_Prefix)) if (needNewShelf.EndsWith(Static_String.BigShelf_RFID_Prefix) || needNewShelf.StartsWith(Static_String.BigShelf_RFID_Prefix))
{ {
if(IOManager.IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW))
{ {
SOneMoveInfo.NextMoveStep(MoveStep.S1_NewShelf); SOneMoveInfo.NextMoveStep(MoveStep.S1_NewShelf);
return; return;
} }
LogUtil.info("双层线_S1" + AllTaskInfo.ToStr() + "S1需要新料架【" + needNewShelf + "】,等待 LLow_StopCheck3"); LogUtil.info("双层线_S1" + AllTaskInfo.ToStr() + "S1需要新料架【" + needNewShelf + "】,等待 LLow_StopCheck2=HIGH");
//放一个C料架 //放一个C料架
SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_C01_GetC); SOneMoveInfo.NewMove(LineMoveType.S1Shelf, MoveStep.S1_C01_GetC);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck2, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck2, IO_VALUE.HIGH));
...@@ -279,10 +279,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -279,10 +279,10 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH);
IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCylinder, IO_VALUE.HIGH, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCylinder, IO_VALUE.HIGH, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLown_LineRun, IO_VALUE.HIGH,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLown_LineRun, IO_VALUE.HIGH, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineRun, IO_VALUE.HIGH,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineRun, IO_VALUE.HIGH, true));
// SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck3, IO_VALUE.LOW)); // SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LLow_StopCheck3, IO_VALUE.LOW));
CheckAndMove(IO_Type.S1_PosStopCylinder, IO_VALUE.LOW); CheckAndMove(IO_Type.S1_PosStopCylinder, IO_VALUE.LOW);
...@@ -310,7 +310,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -310,7 +310,6 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C04_DToLeft)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C04_DToLeft))
{ {
IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW);
if (S1_CurrShelfId.Equals("")) if (S1_CurrShelfId.Equals(""))
{ {
SOneMoveInfo.NextMoveStep(MoveStep.S1_C06_SaveLeft); SOneMoveInfo.NextMoveStep(MoveStep.S1_C06_SaveLeft);
...@@ -350,10 +349,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -350,10 +349,18 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C07_ToS1)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C07_ToS1))
{ {
if(SOneMoveInfo.IsTimeOut(15))
{
S1LineRun(SOneMoveInfo);
}
else
{
IOMove(IO_Type.M_LineRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineRun, IO_VALUE.LOW);
S1_WaitTopUp(); S1_WaitTopUp();
} }
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D10_GetD)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D10_GetD))
{ {
...@@ -392,7 +399,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -392,7 +399,8 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH);
IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.M_LineRun, IO_VALUE.HIGH);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_LineRun, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineRun, IO_VALUE.HIGH, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.HIGH));
} }
else else
...@@ -404,7 +412,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -404,7 +412,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH); IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH);
IOMove(IO_Type.M_LineBackRun, IO_VALUE.HIGH); IOMove(IO_Type.M_LineBackRun, IO_VALUE.HIGH);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RHigh_LineRun, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCheck, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_RightStopCheck, IO_VALUE.HIGH));
} }
} }
...@@ -425,16 +433,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -425,16 +433,16 @@ namespace OnlineStore.DeviceLibrary
{ {
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.M_LineRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineRun, IO_VALUE.LOW);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_LineRun, IO_VALUE.LOW,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LHigh_LineRun, IO_VALUE.LOW, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineRun, IO_VALUE.LOW,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineRun, IO_VALUE.LOW, true));
} }
else else
{ {
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.LOW); IOMove(IO_Type.RHigh_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.M_LineBackRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineBackRun, IO_VALUE.LOW);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RHigh_LineRun, IO_VALUE.LOW,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.RHigh_LineRun, IO_VALUE.LOW, true));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineBackRun, IO_VALUE.LOW,true)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LineBackRun, IO_VALUE.LOW, true));
} }
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
} }
...@@ -512,9 +520,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -512,9 +520,16 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D19_ToS1)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D19_ToS1))
{ {
if(SOneMoveInfo.IsTimeOut(15))
{
S1LineRun(SOneMoveInfo);
}
else
{
IOMove(IO_Type.M_LineRun, IO_VALUE.LOW); IOMove(IO_Type.M_LineRun, IO_VALUE.LOW);
S1_WaitTopUp(); S1_WaitTopUp();
} }
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_21_WaitShelf)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_21_WaitShelf))
{ {
S1_23_TopUpToReady(); S1_23_TopUpToReady();
...@@ -588,17 +603,26 @@ namespace OnlineStore.DeviceLibrary ...@@ -588,17 +603,26 @@ namespace OnlineStore.DeviceLibrary
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_32_LeftToS1)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_32_LeftToS1))
{ {
if (SOneMoveInfo.IsTimeOut(15))
{
S1LineRun(SOneMoveInfo);
}
else
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_33_LeftOnS1); SOneMoveInfo.NextMoveStep(MoveStep.S1_33_LeftOnS1);
S1Log(" 左->S1切换 :" + LeftSName + "到达S1,停止链条转动,等待500后顶升"); S1Log(" 左->S1切换 :" + LeftSName + "到达S1,停止链条转动,等待500后顶升");
S1_CurrShelfId = S1_LeftShelfId; S1_CurrShelfId = S1_LeftShelfId;
S1_LeftShelfId = ""; S1_LeftShelfId = "";
S1LineStop(SOneMoveInfo); S1LineStop(SOneMoveInfo);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(300)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
}
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_33_LeftOnS1)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_33_LeftOnS1))
{ {
S1Log(" 左->S1切换 :" + LeftSName + "到达S1"); S1Log(" 左->S1切换 :" + LeftSName + "到达S1");
S1_WaitTopUp(); S1_WaitTopUp();
} }
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_40_WaitS1ToLeft)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_40_WaitS1ToLeft))
{ {
...@@ -652,10 +676,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -652,10 +676,18 @@ namespace OnlineStore.DeviceLibrary
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_44_RightToS1)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_44_RightToS1))
{ {
if(SOneMoveInfo.IsTimeOut(15))
{
S1BackRun();
}
else
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_44_WaitShelfInS1); SOneMoveInfo.NextMoveStep(MoveStep.S1_44_WaitShelfInS1);
S1Log(" 右->S1切换 :等待" + RightSName + "完全在S1"); S1Log(" 右->S1切换 :等待" + RightSName + "完全在S1");
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_NegStopCheck, IO_VALUE.HIGH)); SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.S1_NegStopCheck, IO_VALUE.HIGH));
} }
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_44_WaitShelfInS1)) else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_44_WaitShelfInS1))
{ {
S1_CurrShelfId = S1_RightShelfId; S1_CurrShelfId = S1_RightShelfId;
......
...@@ -28,11 +28,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -28,11 +28,6 @@ namespace OnlineStore.DeviceLibrary
private bool ROutProcess = false; private bool ROutProcess = false;
private void ShelfCheckPro() private void ShelfCheckPro()
{ {
//左侧轨道
if (IOValue(IO_Type.LHigh_StopCheck1).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH))
{
//料架满
}
if (IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.LHigh_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LHigh_StopCylinder2).Equals(IO_VALUE.LOW) && IOValue(IO_Type.LHigh_StopCylinder2).Equals(IO_VALUE.LOW) &&
...@@ -41,7 +36,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -41,7 +36,7 @@ namespace OnlineStore.DeviceLibrary
) )
{ {
bool isUseHighShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_D12_LineRun && SOneMoveInfo.MoveStep <= MoveStep.S1_D12_LineRun); bool isUseHighShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_D12_LineRun && SOneMoveInfo.MoveStep <= MoveStep.S1_D12_LineRun);
if (!isUseHighShelf && LineManager.checkWatch(lhighWatch, 3000)) if (!isUseHighShelf && LineManager.checkWatch(lhighWatch, 5000))
{ {
lhighWatch.Stop(); lhighWatch.Stop();
//左侧上层需要放个料架 //左侧上层需要放个料架
...@@ -50,10 +45,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -50,10 +45,10 @@ namespace OnlineStore.DeviceLibrary
LHighProcess = true; LHighProcess = true;
LogUtil.info("左侧双层线_" + "左上层放料架到阻挡2"); LogUtil.info("左侧双层线_" + "左上层放料架到阻挡2");
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000); IOMove(IO_Type.LHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH, 3000); IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.HIGH, 2000);
if (WaitIo(IO_Type.LHigh_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_上层放料架到阻挡2")) if (WaitIo(IO_Type.LHigh_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_上层放料架到阻挡2"))
{ {
IOMove(IO_Type.LHigh_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LHigh_StopCylinder1, IO_VALUE.LOW);
} }
LHighProcess = false; LHighProcess = false;
}); });
...@@ -71,7 +66,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -71,7 +66,7 @@ namespace OnlineStore.DeviceLibrary
&& RHighProcess.Equals(false) && RHighProcess.Equals(false)
) )
{ {
if (LineManager.checkWatch(rhighWatch, 3000)) if (LineManager.checkWatch(rhighWatch, 5000))
{ {
rhighWatch.Stop(); rhighWatch.Stop();
//右侧上层需要放个料架 //右侧上层需要放个料架
...@@ -80,12 +75,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -80,12 +75,13 @@ namespace OnlineStore.DeviceLibrary
RHighProcess = true; RHighProcess = true;
LogUtil.info("右侧双层线_" + "右上层放料架到阻挡2"); LogUtil.info("右侧双层线_" + "右上层放料架到阻挡2");
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, 30000); IOMove(IO_Type.RHigh_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH, 3000); IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.HIGH, 2000);
if (WaitIo(IO_Type.RHigh_StopCheck2, IO_VALUE.HIGH, 30000, "右侧_上层放料架到阻挡2")) if (WaitIo(IO_Type.RHigh_StopCheck2, IO_VALUE.HIGH, 30000, "右侧_上层放料架到阻挡2"))
{ {
IOMove(IO_Type.RHigh_LineRun, IO_VALUE.LOW); IOMove(IO_Type.RHigh_StopCylinder1, IO_VALUE.LOW);
} }
RHighProcess = false; RHighProcess = false;
LogUtil.info("右侧双层线_" + "右上层放料架到阻挡2,完成");
}); });
} }
} }
...@@ -96,23 +92,24 @@ namespace OnlineStore.DeviceLibrary ...@@ -96,23 +92,24 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.LLow_StopCheck1).Equals(IO_VALUE.HIGH) &&
IOValue(IO_Type.LLow_StopCylinder2).Equals(IO_VALUE.LOW) && IOValue(IO_Type.LLow_StopCylinder2).Equals(IO_VALUE.LOW) && LowProcess.Equals(false))// IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.LLown_LineRun).Equals(IO_VALUE.LOW) && LowProcess.Equals(false))
{ {
bool isUseLowShelf = (SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep <= MoveStep.S1_C05_CheckS1); bool isUseLowShelf = false;//(SOneMoveInfo.MoveStep >= MoveStep.S1_C02_MDown && SOneMoveInfo.MoveStep < MoveStep.S1_C05_CheckS1);
if (!isUseLowShelf && LineManager.checkWatch(lowWatch, 3000)) if (!isUseLowShelf && LineManager.checkWatch(lowWatch, 5000))
{ {
//左侧下层需要放个料架 //左侧下层需要放个料架
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
LowProcess = true; LowProcess = true;
LogUtil.info("左侧双层线_" + "左下层放料架到阻挡2"); LogUtil.info("左侧双层线_左下层放料架到阻挡2");
IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH, 30000); IOMove(IO_Type.LLown_LineRun, IO_VALUE.HIGH, 30000);
IOMove(IO_Type.LLow_StopCylinder1, IO_VALUE.HIGH, 3000);
if (WaitIo(IO_Type.LLow_StopCheck2, IO_VALUE.HIGH, 30000, "左侧_下层放料架到阻挡2")) IOMove(IO_Type.LLow_StopCylinder1, IO_VALUE.HIGH, 2000);
if (WaitIo(IO_Type.LLow_StopCheck2, IO_VALUE.HIGH, 20000, "左侧_下层放料架到阻挡2"))
{ {
IOMove(IO_Type.LLown_LineRun, IO_VALUE.LOW); IOMove(IO_Type.LLow_StopCylinder1, IO_VALUE.LOW);
} }
LogUtil.info("左侧双层线_左下层放料架到阻挡2,完成");
LowProcess = false; LowProcess = false;
}); });
} }
...@@ -183,7 +180,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -183,7 +180,7 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.R_StopCheck1).Equals(IO_VALUE.HIGH) && ROutProcess.Equals(false)) if (IOValue(IO_Type.R_StopCheck1).Equals(IO_VALUE.HIGH) && ROutProcess.Equals(false))
{ {
if (IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.LOW) && LineManager.checkWatch(outLineWatch, 5000, true) && if (IOValue(IO_Type.R_StopCheck2).Equals(IO_VALUE.LOW) && LineManager.checkWatch(outLineWatch, 5000, true) &&
LineManager.packageLine.benQOutStep.GetCurStep() < BenQ_OUT_STEP.SHELF_TO_UPDOWN) IOValue(IO_Type.R_StopCylinder2).Equals(IO_VALUE.LOW))//LineManager.packageLine.benQOutStep.GetCurStep() < BenQ_OUT_STEP.SHELF_TO_UPDOWN
{ {
outLineWatch.Stop(); outLineWatch.Stop();
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
...@@ -195,9 +192,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -195,9 +192,9 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.R_LineRun, IO_VALUE.HIGH, 20000); IOMove(IO_Type.R_LineRun, IO_VALUE.HIGH, 20000);
if (WaitIo(IO_Type.R_StopCheck2, IO_VALUE.HIGH, 20000, "料架到达出口")) if (WaitIo(IO_Type.R_StopCheck2, IO_VALUE.HIGH, 20000, "料架到达出口"))
{ {
IOMove(IO_Type.R_LineRun, IO_VALUE.LOW);
IOMove(IO_Type.R_StopCylinder1, IO_VALUE.LOW); IOMove(IO_Type.R_StopCylinder1, IO_VALUE.LOW);
} }
LogUtil.info("右侧双层线_" + "出口无料架,放一个料架完成");
ROutProcess = false; ROutProcess = false;
}); });
} }
...@@ -274,6 +271,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -274,6 +271,7 @@ namespace OnlineStore.DeviceLibrary
IOMove(IO_Type.Line_StopCylinder, IO_VALUE.HIGH); IOMove(IO_Type.Line_StopCylinder, IO_VALUE.HIGH);
IOMove(IO_Type.L_InLineRun, IO_VALUE.HIGH); IOMove(IO_Type.L_InLineRun, IO_VALUE.HIGH);
LeftLineMove(IO_VALUE.HIGH, MoveInfo); LeftLineMove(IO_VALUE.HIGH, MoveInfo);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_StopCylinder, IO_VALUE.HIGH, true));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.L_InLineRun, IO_VALUE.HIGH, true)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.L_InLineRun, IO_VALUE.HIGH, true));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_InCheck, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Line_InCheck, IO_VALUE.LOW));
} }
...@@ -367,8 +365,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -367,8 +365,8 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(MoveStep.SI09_WaitStopRun); MoveInfo.NextMoveStep(MoveStep.SI09_WaitStopRun);
MoveInfo.TimeOutSeconds = 30; MoveInfo.TimeOutSeconds = 30;
LogUtil.info(Name + MoveInfo.SLog + " 等待检测2亮,转动20秒"); LogUtil.info(Name + MoveInfo.SLog + " 等待检测2亮,转动30秒");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(20000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
LeftLineMove(IO_VALUE.HIGH, null); LeftLineMove(IO_VALUE.HIGH, null);
if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix)) if (LeftUpdownRFID.StartsWith(Static_String.SmallShelf_RFID_Prefix))
{ {
...@@ -396,11 +394,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -396,11 +394,18 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(MoveStep.SI09_WaitStopRun)) else if (MoveInfo.MoveStep.Equals(MoveStep.SI09_WaitStopRun))
{ {
if (IOValue(IO_Type.LLow_StopCheck2).Equals(IO_VALUE.LOW))
{
LeftLineMove(IO_VALUE.HIGH);
}
else
{
LogUtil.info(Name + MoveInfo.SLog + " 停止链条转动,结束处理"); LogUtil.info(Name + MoveInfo.SLog + " 停止链条转动,结束处理");
LeftLineMove(IO_VALUE.LOW); LeftLineMove(IO_VALUE.LOW);
MoveInfo.EndMove(); MoveInfo.EndMove();
} }
} }
}
private void LeftLineMove(IO_VALUE value, LineMoveInfo moveInfo = null) private void LeftLineMove(IO_VALUE value, LineMoveInfo moveInfo = null)
{ {
......
...@@ -227,7 +227,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -227,7 +227,7 @@ namespace OnlineStore.DeviceLibrary
benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS); benQInFromOutStep.ToNextStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS);
benQInFromOutStep.Msg = "产线AGV 在右侧提升机将料架送入上层平台完成"; benQInFromOutStep.Msg = "产线AGV 在右侧提升机将料架送入上层平台完成";
benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck1, IO_VALUE.HIGH); benQInFromOutStep.AddIoWait(IO_Type.RHigh_StopCheck1, IO_VALUE.HIGH);
benQInFromOutStep.AddTimeWait(60000); benQInFromOutStep.AddTimeWait(30000);
} }
} }
else if (benQInFromOutStep.IsStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS)) else if (benQInFromOutStep.IsStep(BenQ_IN_FROM_OUT_STEP.WAIT_SHELF_TO_READY_POS))
......
...@@ -43,7 +43,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -43,7 +43,7 @@ namespace OnlineStore.DoubleLineClient
this.DoubleLine = LineManager.InitStore(); this.DoubleLine = LineManager.InitStore();
if (DoubleLine == null) if (DoubleLine == null)
{ {
LogUtil.error( "加载设备失败"); LogUtil.error("加载设备失败");
this.Close(); this.Close();
return; return;
} }
...@@ -73,7 +73,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -73,7 +73,7 @@ namespace OnlineStore.DoubleLineClient
private void BtnBack_Click(object sender, EventArgs e) private void BtnBack_Click(object sender, EventArgs e)
{ {
this.tabPageList.SelectedIndex=0; this.tabPageList.SelectedIndex = 0;
} }
#endregion #endregion
...@@ -99,6 +99,8 @@ namespace OnlineStore.DoubleLineClient ...@@ -99,6 +99,8 @@ namespace OnlineStore.DoubleLineClient
} }
int showAllTaskCnt = 0; int showAllTaskCnt = 0;
int leftRobotWarnCnt = 0;
int rightRobotWarnCnt = 0;
private void timer1_Tick(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e)
{ {
if (!this.IsHandleCreated) if (!this.IsHandleCreated)
...@@ -110,36 +112,49 @@ namespace OnlineStore.DoubleLineClient ...@@ -110,36 +112,49 @@ namespace OnlineStore.DoubleLineClient
bool isAlarm = false; bool isAlarm = false;
List<AlarmMsg> msglist = new List<AlarmMsg>(); List<AlarmMsg> msglist = new List<AlarmMsg>();
showAllTaskCnt++; showAllTaskCnt++;
if (showAllTaskCnt >=2)//2秒刷新一次任务显示 if (showAllTaskCnt >= 2)//2秒刷新一次任务显示
{ {
isAlarm = true; isAlarm = true;
showAllTaskCnt = 0; showAllTaskCnt = 0;
msglist.Add(new AlarmMsg("双层线任务", "doubleLine.AllTaskInfo", DoubleLine.AllTaskInfo.ToStr(),1)); msglist.Add(new AlarmMsg("双层线任务", "doubleLine.AllTaskInfo", DoubleLine.AllTaskInfo.ToStr(), 1));
} }
if (!DoubleLine.LeftRobot.WarnMsg.Equals("")) if (!DoubleLine.LeftRobot.WarnMsg.Equals(""))
{ {
leftRobotWarnCnt++;
}
else
{
leftRobotWarnCnt = 0;
}
if (leftRobotWarnCnt > 5)
{
isAlarm = true; isAlarm = true;
msglist.Add(new AlarmMsg("2号机器人", "doubleLine.LeftRobot.WarnMsg", DoubleLine.LeftRobot.WarnMsg)); msglist.Add(new AlarmMsg("2号机器人", "doubleLine.LeftRobot.WarnMsg", DoubleLine.LeftRobot.WarnMsg));
} }
if (!DoubleLine.RightRobot.WarnMsg.Equals("")) if (!DoubleLine.RightRobot.WarnMsg.Equals(""))
{ {
rightRobotWarnCnt++;
}
else
{
rightRobotWarnCnt = 0;
}
if (rightRobotWarnCnt > 5)
{
isAlarm = true; isAlarm = true;
msglist.Add(new AlarmMsg("1号机器人", "doubleLine.RightRobot.WarnMsg", DoubleLine.RightRobot.WarnMsg)); msglist.Add(new AlarmMsg("1号机器人", "doubleLine.RightRobot.WarnMsg", DoubleLine.RightRobot.WarnMsg));
} }
//if (!LineManager.packageLine.A4_Shelf_Exist)
//{
// isAlarm = true;
// msglist.Add(new AlarmMsg("A4包装线出口状态", "doubleLine.packageLine.agvA4Step.Msg", LineManager.packageLine.agvA4Step.Msg));
//}
if (!LineManager.packageLine.LeftAllowIn) if (!LineManager.packageLine.LeftAllowIn)
{ {
isAlarm = true; isAlarm = true;
msglist.Add(new AlarmMsg("A5入口状态", "doubleLine.packageLine.benQInStepLeft.Msg", LineManager.packageLine.A5_State,1)); msglist.Add(new AlarmMsg("A5入口状态", "doubleLine.packageLine.benQInStepLeft.Msg", LineManager.packageLine.A5_State, 1));
} }
if (!LineManager.packageLine.A6_ReadRFID_OK) if (!LineManager.packageLine.A6_ReadRFID_OK)
{ {
isAlarm = true; isAlarm = true;
msglist.Add(new AlarmMsg("A6出口RFID读取状态", "doubleLine.packageLine.benQOutStep.Msg", LineManager.packageLine.benQOutStep.Msg,1)); msglist.Add(new AlarmMsg("A6出口RFID读取状态", "doubleLine.packageLine.benQOutStep.Msg", LineManager.packageLine.benQOutStep.Msg, 1));
} }
if (isAlarm) if (isAlarm)
HttpServer.updateDeviceAlarmMsg(msglist); HttpServer.updateDeviceAlarmMsg(msglist);
...@@ -217,7 +232,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -217,7 +232,7 @@ namespace OnlineStore.DoubleLineClient
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error( "出错:" + ex.StackTrace); LogUtil.error("出错:" + ex.StackTrace);
} }
} }
...@@ -281,7 +296,7 @@ namespace OnlineStore.DoubleLineClient ...@@ -281,7 +296,7 @@ namespace OnlineStore.DoubleLineClient
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show(ex.StackTrace, "Exception(异常)", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.StackTrace, "Exception(异常)", MessageBoxButtons.OK, MessageBoxIcon.Error);
LogUtil.error( ex.StackTrace); LogUtil.error(ex.StackTrace);
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!