Commit 390accaf LN

流水线阻挡2优化

1 个父辈 5ad8f171
...@@ -104,8 +104,37 @@ D2(上料模块出口) ...@@ -104,8 +104,37 @@ D2(上料模块出口)
20200217 20200217
Mayleave、MayEnter是包装料仓的,开了门后发,环形线和VMI是不用的。状态不需要重复设置。 Mayleave、MayEnter是包装料仓的,开了门后发,环形线和VMI是不用的。状态不需要重复设置。
上料机构最后一盘料需要补充5mm.
上料机构最后一盘料需要补充2mm.
20200218
修改内容
1.横移顶升上升后,需要等待横移横移3托盘检测或横移1托盘检测无信号,再开始转动横移皮带线。
2.减少阻挡2下降等待时间
3.阻挡2下降时,需要判断下一个设备的阻挡1无信号,进仓移栽与出料模块增加NSC信号,当此信号=low时阻挡2才能下降。
Config_Line.csv文件增加配置:
DI,1,01NSC-进仓02阻挡1检测,NextStopCheck,8,PRO_AOI_IP_19,0,01NSC-进仓02阻挡1检测,X269,X269
DI,2,02NSC-进仓03阻挡1检测,NextStopCheck,0,PRO_AOI_IP_21,0,02NSC-进仓02阻挡1检测,X291,X291
DI,3,03NSC-进仓04阻挡1检测,NextStopCheck,8,PRO_AOI_IP_21,0,03NSC-进仓04阻挡1检测,X299,X299
DI,4,04NSC-进仓05阻挡1检测,NextStopCheck,0,PRO_AOI_IP_23,0,04NSC-进仓05阻挡1检测,X321,X321
DI,5,05NSC-进仓06阻挡1检测,NextStopCheck,8,PRO_AOI_IP_23,0,05NSC-进仓06阻挡1检测,X329,X329
DI,6,06NSC-FL1阻挡检测,NextStopCheck,9,PRO_AOI_IP_14,0,进仓06NSC-FL1阻挡检测,X170,X170
DI,102,SL2NSC-进仓07阻挡1检测,NextStopCheck,0,PRO_AOI_IP_25,0,SL2NSC-进仓07阻挡1检测,X351,X351
DI,7,07NSC-进仓08阻挡1检测,NextStopCheck,8,PRO_AOI_IP_25,0,进仓07NSC-进仓08阻挡1检测,X359,X359
DI,8,08NSC-进仓09阻挡1检测,NextStopCheck,0,PRO_AOI_IP_27,0,进仓08NSC-进仓09阻挡1检测,X381,X381
DI,9,09NSC-进仓10阻挡1检测,NextStopCheck,8,PRO_AOI_IP_27,0,进仓09NSC-进仓10阻挡1检测,X389,X389
DI,10,10NSC-环形线横移2阻挡检测,NextStopCheck,2,PRO_AOI_IP_28,0,进仓10NSC-环形线横移2阻挡检测,X403,X403
DI,201,出料1NSC-进仓11阻挡1检测,NextStopCheck,0,PRO_AOI_IP_29,0,出料1NSC-进仓11阻挡1检测,X411,X411
DI,11,11NSC-进仓12阻挡1检测,NextStopCheck,10,PRO_AOI_IP_29,0,11NSC-进仓12阻挡1检测,X421,X421
DI,12,12NSC-出料2阻挡1检测,NextStopCheck,4,PRO_AOI_IP_32,0,12NSC-出料2阻挡1检测,X475,X475
DI,202,出料2NSC-进仓13阻挡1检测,NextStopCheck,0,PRO_AOI_IP_31,0,出料2NSC-进仓13阻挡1检测,X451,X451
DI,13,13NSC-进仓14阻挡1检测,NextStopCheck,10,PRO_AOI_IP_31,0,13NSC-进仓14阻挡1检测,X461,X461
DI,14,14NSC-进仓15阻挡1检测,NextStopCheck,0,PRO_AOI_IP_33,0,14NSC-进仓15阻挡1检测,X491,X491
DI,15,15NSC-进仓16阻挡1检测,NextStopCheck,10,PRO_AOI_IP_33,0,15NSC-进仓16阻挡1检测,X501,X501
DI,16,16NSC-出料3阻挡1检测,NextStopCheck,4,PRO_AOI_IP_34,0,16NSC-出料3阻挡1检测,X515,X515
DI,203,出料3NSC-进仓17阻挡1检测,NextStopCheck,0,PRO_AOI_IP_35,0,出料3NSC-进仓17阻挡1检测,X531,X531
DI,17,17NSC-进仓18阻挡1检测,NextStopCheck,10,PRO_AOI_IP_35,0,17NSC-进仓18阻挡1检测,X541,X541
DI,18,18NSC-出料4阻挡1检测,NextStopCheck,4,PRO_AOI_IP_36,0,18NSC-出料4阻挡1检测,X555,X555
......
...@@ -104,3 +104,27 @@ DO,0,环形线横移4定位下降SOL,SW4_LocationCylinder_Down,12,PRO_AOI_IP_1,0,环形线横 ...@@ -104,3 +104,27 @@ DO,0,环形线横移4定位下降SOL,SW4_LocationCylinder_Down,12,PRO_AOI_IP_1,0,环形线横
,0,,,13,PRO_AOI_IP_1,0,,Y014,Y014 ,0,,,13,PRO_AOI_IP_1,0,,Y014,Y014
,0,,,14,PRO_AOI_IP_1,0,,Y015,Y015 ,0,,,14,PRO_AOI_IP_1,0,,Y015,Y015
,0,,,15,PRO_AOI_IP_1,0,,Y016,Y016 ,0,,,15,PRO_AOI_IP_1,0,,Y016,Y016
DI,1,01NSC-进仓02阻挡1检测,NextStopCheck,8,PRO_AOI_IP_19,0,01NSC-进仓02阻挡1检测,X269,X269
DI,2,02NSC-进仓03阻挡1检测,NextStopCheck,0,PRO_AOI_IP_21,0,02NSC-进仓02阻挡1检测,X291,X291
DI,3,03NSC-进仓04阻挡1检测,NextStopCheck,8,PRO_AOI_IP_21,0,03NSC-进仓04阻挡1检测,X299,X299
DI,4,04NSC-进仓05阻挡1检测,NextStopCheck,0,PRO_AOI_IP_23,0,04NSC-进仓05阻挡1检测,X321,X321
DI,5,05NSC-进仓06阻挡1检测,NextStopCheck,8,PRO_AOI_IP_23,0,05NSC-进仓06阻挡1检测,X329,X329
DI,6,06NSC-FL1阻挡检测,NextStopCheck,9,PRO_AOI_IP_14,0,进仓06NSC-FL1阻挡检测,X170,X170
DI,102,SL2NSC-进仓07阻挡1检测,NextStopCheck,0,PRO_AOI_IP_25,0,SL2NSC-进仓07阻挡1检测,X351,X351
DI,7,07NSC-进仓08阻挡1检测,NextStopCheck,8,PRO_AOI_IP_25,0,进仓07NSC-进仓08阻挡1检测,X359,X359
DI,8,08NSC-进仓09阻挡1检测,NextStopCheck,0,PRO_AOI_IP_27,0,进仓08NSC-进仓09阻挡1检测,X381,X381
DI,9,09NSC-进仓10阻挡1检测,NextStopCheck,8,PRO_AOI_IP_27,0,进仓09NSC-进仓10阻挡1检测,X389,X389
DI,10,10NSC-环形线横移2阻挡检测,NextStopCheck,2,PRO_AOI_IP_28,0,进仓10NSC-环形线横移2阻挡检测,X403,X403
DI,201,出料1NSC-进仓11阻挡1检测,NextStopCheck,0,PRO_AOI_IP_29,0,出料1NSC-进仓11阻挡1检测,X411,X411
DI,11,11NSC-进仓12阻挡1检测,NextStopCheck,10,PRO_AOI_IP_29,0,11NSC-进仓12阻挡1检测,X421,X421
DI,12,12NSC-出料2阻挡1检测,NextStopCheck,4,PRO_AOI_IP_32,0,12NSC-出料2阻挡1检测,X475,X475
DI,202,出料2NSC-进仓13阻挡1检测,NextStopCheck,0,PRO_AOI_IP_31,0,出料2NSC-进仓13阻挡1检测,X451,X451
DI,13,13NSC-进仓14阻挡1检测,NextStopCheck,10,PRO_AOI_IP_31,0,13NSC-进仓14阻挡1检测,X461,X461
DI,14,14NSC-进仓15阻挡1检测,NextStopCheck,0,PRO_AOI_IP_33,0,14NSC-进仓15阻挡1检测,X491,X491
DI,15,15NSC-进仓16阻挡1检测,NextStopCheck,10,PRO_AOI_IP_33,0,15NSC-进仓16阻挡1检测,X501,X501
DI,16,16NSC-出料3阻挡1检测,NextStopCheck,4,PRO_AOI_IP_34,0,16NSC-出料3阻挡1检测,X515,X515
DI,203,出料3NSC-进仓17阻挡1检测,NextStopCheck,0,PRO_AOI_IP_35,0,出料3NSC-进仓17阻挡1检测,X531,X531
DI,17,17NSC-进仓18阻挡1检测,NextStopCheck,10,PRO_AOI_IP_35,0,17NSC-进仓18阻挡1检测,X541,X541
DI,18,18NSC-出料4阻挡1检测,NextStopCheck,4,PRO_AOI_IP_36,0,18NSC-出料4阻挡1检测,X555,X555
...@@ -174,35 +174,45 @@ namespace OnlineStore.DeviceLibrary ...@@ -174,35 +174,45 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_01_FixtureCheck)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_01_FixtureCheck))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_02_WaitFixture); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_02_WaitFixture);
CheckLog("托盘检测:" + SecondMoveInfo.SLog + "再次等待SW_TrayCheck=1并需要持续:" + TrayManager.SwTrayWaitTime); CheckLog("托盘检测:" + SecondMoveInfo.SLog + "再次等待SW_TrayCheck=1 :" );
//CheckLog("托盘检测:" + SecondMoveInfo.SLog + "再次等待SW_TrayCheck=1并需要持续:" + TrayManager.SwTrayWaitTime);
CheckAndMove(IO_Type.SW_StopDown, IO_VALUE.LOW); CheckAndMove(IO_Type.SW_StopDown, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.SwTrayWaitTime)); // SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.SwTrayWaitTime));
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_02_WaitFixture)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_02_WaitFixture))
{ {
if (IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH)) //if (IOValue(IO_Type.SW_TrayCheck).Equals(IO_VALUE.HIGH))
{ //{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down);
CheckLog("托盘检测:" + SecondMoveInfo.SLog + "阻挡气缸上升,等待SW_TrayCheck=1)"); CheckLog("托盘检测:" + SecondMoveInfo.SLog + "阻挡气缸上升,等待SW_TrayCheck=1)");
IOMove(IO_Type.SW_StopDown, IO_VALUE.LOW); IOMove(IO_Type.SW_StopDown, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH));
//}
//else
//{
// SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_02_WaitFixture);
// CheckLog("托盘检测:" + SecondMoveInfo.SLog + "再次等待SW_TrayCheck=1并需要持续:" + TrayManager.SwTrayWaitTime);
// IOMove(IO_Type.SW_StopDown, IO_VALUE.LOW);
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.SwTrayWaitTime));
//}
} }
else else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_02_WaitFixture); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
CheckLog("托盘检测:" + SecondMoveInfo.SLog + "再次等待SW_TrayCheck=1并需要持续:" + TrayManager.SwTrayWaitTime); if (Config.SidesWayNum > 0)
IOMove(IO_Type.SW_StopDown, IO_VALUE.LOW); {
CheckLog("托盘检测:" + SecondMoveInfo.SLog + " ,等待编码信号稳定 SW_TrayCheck=1");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.HIGH));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.SwTrayWaitTime));
}
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down)) else
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait); CheckLog("托盘检测:" + SecondMoveInfo.SLog + " ,等待编码信号稳定 FL_TrayCheck=1");
CheckLog("托盘检测:" + SecondMoveInfo.SLog + " ,等待编码信号稳定)"); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.FL_TrayCheck, IO_VALUE.HIGH));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); }
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait))
{ {
...@@ -232,11 +242,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -232,11 +242,13 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
TrayInfo tray = TrayManager.GetTrayInfo(currTrayNum); TrayInfo tray = TrayManager.GetTrayInfo(currTrayNum);
LogInfo(SecondMoveInfo.MoveNum + "***************上个托盘号【" + preTrayNum + "】,当前 【" + tray.ToStr() + "】没有出入料任务,放盘通过~"); LogInfo(SecondMoveInfo.MoveNum + "***************上个托盘号【" + preTrayNum + "】,当前 【" + tray.ToStr() + "】没有出入料任务,放盘通过~");
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)"); //CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)");
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
} }
else else
{ {
CheckLog("托盘检测:不需要托盘,结束处理 )"); CheckLog("托盘检测:不需要托盘,结束处理 )");
SMoveEnd(); SMoveEnd();
} }
} }
...@@ -314,6 +326,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -314,6 +326,11 @@ namespace OnlineStore.DeviceLibrary
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待托盘离开"); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待托盘离开");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.LOW)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW_TrayCheck, IO_VALUE.LOW));
} }
else
{
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
}
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
{ {
......
...@@ -469,8 +469,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -469,8 +469,9 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定)"); CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定StopCylinder_Check2=1");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); //SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait))
{ {
...@@ -514,13 +515,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -514,13 +515,8 @@ namespace OnlineStore.DeviceLibrary
TrayManager.UpdateTrayNumError(-1, ""); TrayManager.UpdateTrayNumError(-1, "");
} }
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000)"); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
//if (DeviceID.Equals(2)) SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
//{
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitSideWay());
// SecondMoveInfo.OneWaitCanEndStep = true;
//}
} }
} }
catch (Exception ex) catch (Exception ex)
...@@ -586,13 +582,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -586,13 +582,8 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopDown)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_14_TopDown))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行" + SecondMoveInfo.SLog + " ,移栽2,需要判断是否可以放盘通过,最多等待10000 "); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
//if (DeviceID.Equals(2)) SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
//{
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitSideWay());
// SecondMoveInfo.OneWaitCanEndStep = true;
//}
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
......
...@@ -209,31 +209,33 @@ namespace OnlineStore.DeviceLibrary ...@@ -209,31 +209,33 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_01_FixtureCheck)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_01_FixtureCheck))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 等待" + TrayManager.SwTrayWaitTime + ",再次检测料盘信号"); CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 再次检测料盘信号");
//CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 等待" + TrayManager.SwTrayWaitTime + ",再次检测料盘信号");
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW); IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
SecondMoveInfo.OneWaitCanEndStep = true; // SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime)); // SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
// SecondMoveInfo.EndStepWait(); // SecondMoveInfo.EndStepWait();
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down))
{ {
if (IOValue(IO_Type.StopCylinder_Check2).Equals(IO_VALUE.HIGH)) //if (IOValue(IO_Type.StopCylinder_Check2).Equals(IO_VALUE.HIGH))
{ //{
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定)"); CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定StopCylinder_Check2=1");
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
//SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
}
else
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 等待" + TrayManager.SwTrayWaitTime + ",再次检测料盘信号");
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime)); // SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
} //SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
//}
//else
//{
// SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down);
// CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 等待" + TrayManager.SwTrayWaitTime + ",再次检测料盘信号");
// IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
// SecondMoveInfo.OneWaitCanEndStep = true;
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
//}
} }
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait))
{ {
...@@ -246,12 +248,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -246,12 +248,12 @@ namespace OnlineStore.DeviceLibrary
} }
//出料中,需要拦盘 //出料中,需要拦盘
string outMsg = ""; string outMsg = "";
InOutParam param = CheckIsNeedOutStore( out outMsg); InOutParam param = CheckIsNeedOutStore(out outMsg);
if(param != null) if (param != null)
{ {
SecondMoveInfo.MoveParam = param; SecondMoveInfo.MoveParam = param;
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_05_WaitTime); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_05_WaitTime);
LogUtil.info(Name+ "托盘 【" + currTrayNum + "】【"+outMsg+"】需要出料" + SecondMoveInfo.SLog + ":" + param.ToStr() + " 等待可以开始移栽 "); LogUtil.info(Name + "托盘 【" + currTrayNum + "】【" + outMsg + "】需要出料" + SecondMoveInfo.SLog + ":" + param.ToStr() + " 等待可以开始移栽 ");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitProvidingEquipCanOut());//等待 SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitProvidingEquipCanOut());//等待
...@@ -292,7 +294,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -292,7 +294,7 @@ namespace OnlineStore.DeviceLibrary
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember) && MoveInfo.MoveType.Equals(LineMoveType.None)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_11_CodeRember) && MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_09_WaitLetFixtureGo); SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_09_WaitLetFixtureGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + "开始新的出料任务~" + SecondMoveInfo.MoveParam.ToStr()+",开始移栽"); CheckLog("托盘放行 " + SecondMoveInfo.SLog + "开始新的出料任务~" + SecondMoveInfo.MoveParam.ToStr() + ",开始移栽");
bool result = StartOutStoreMove(SecondMoveInfo.MoveParam); bool result = StartOutStoreMove(SecondMoveInfo.MoveParam);
} }
#endregion #endregion
...@@ -308,21 +310,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -308,21 +310,19 @@ namespace OnlineStore.DeviceLibrary
} }
else else
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
}
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_Stop2Down); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_Stop2Down);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,阻挡2下降"); CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,阻挡2下降");
IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH); IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH)); SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH));
} }
}
//else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_15_WaitCanGo))
//{
// SecondMoveInfo.NextMoveStep(LineMoveStep.MO_16_Stop2Down);
// CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,阻挡气缸1-2下降)");
// IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH);
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Down2, IO_VALUE.HIGH));
// // SecondMoveInfo.EndStepWait();
//}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_16_Stop2Down)) else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MO_16_Stop2Down))
{ {
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_17_Stop2Check); SecondMoveInfo.NextMoveStep(LineMoveStep.MO_17_Stop2Check);
......
...@@ -414,46 +414,50 @@ namespace OnlineStore.DeviceLibrary ...@@ -414,46 +414,50 @@ namespace OnlineStore.DeviceLibrary
/// <summary> /// <summary>
/// 等待到托盘信号后,需要持续一段时间 /// 等待到托盘信号后,需要持续一段时间
/// </summary> /// </summary>
SW011_WaitCheckTime = 5011, SW02_WaitCheckTime = 5002,
/// <summary> /// <summary>
/// 等待到托盘信号后,需要持续一段时间 /// 等待到托盘信号后,需要持续一段时间
/// </summary> /// </summary>
SW012_WaitTime = 5012, SW03_WaitTime = 5003,
/// <summary> /// <summary>
/// 等待轨道1夹具检测信号 /// 等待轨道1夹具检测信号
/// </summary> /// </summary>
SW02_WaitCheck =5002, SW04_WaitCheck = 5004,
/// <summary> /// <summary>
/// 横移轨道顶升气缸上升 /// 横移轨道顶升气缸上升
/// </summary> /// </summary>
SW03_TopCylinderUp=5003, SW05_TopCylinderUp= 5005,
/// <summary>
/// 等待第二个横移没有托盘
/// </summary>
SW06_WaitNoTray=5006,
/// <summary> /// <summary>
/// 横移轨道点击转动 /// 横移轨道点击转动
/// </summary> /// </summary>
SW04_DriveMotorMove=5004, SW07_DriveMotorMove=5007,
/// <summary> /// <summary>
/// 收到横移轨道2夹具检测信号 /// 收到横移轨道2夹具检测信号
/// </summary> /// </summary>
SW05_WaitOutCheck=5005, SW08_WaitOutCheck=5008,
/// <summary> /// <summary>
/// 等待出口信号持续一段时间 /// 等待出口信号持续一段时间
/// </summary> /// </summary>
SW06_WatOutFixture2=5006, SW09_WatOutFixture2=5009,
/// <summary> /// <summary>
/// 停止横移轨道转动,横移轨道顶升气缸下降 /// 停止横移轨道转动,横移轨道顶升气缸下降
/// </summary> /// </summary>
SW07_TopDown=5007, SW10_TopDown=5010,
/// <summary> ///// <summary>
/// 阻挡2下降,等待托盘流出 ///// 阻挡2下降,等待托盘流出
/// </summary> ///// </summary>
SW08_StopDrive=5008, //SW11_StopDrive=5011,
/// <summary> /// <summary>
/// 等待托盘流出,上升阻挡气缸 /// 等待托盘流出,上升阻挡气缸
/// </summary> /// </summary>
SW09_WaitTrayGo=5009, SW12_WaitTrayGo=5012,
#endregion #endregion
......
...@@ -297,8 +297,14 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -297,8 +297,14 @@ namespace OnlineStore.LoadCSVLibrary
{ {
doList = DeviceConfig.SubDOList[subType]; doList = DeviceConfig.SubDOList[subType];
} }
ConfigIO nsc = null;
foreach (string key in diList.Keys) foreach (string key in diList.Keys)
{ {
if (key.Equals(IO_Type.NextStopCheck))
{
nsc = diList[key];
continue;
}
DIList.Add(key, diList[key]); DIList.Add(key, diList[key]);
if (!IOIPList.Contains(diList[key].IO_IP)) if (!IOIPList.Contains(diList[key].IO_IP))
{ {
...@@ -314,6 +320,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -314,6 +320,11 @@ namespace OnlineStore.LoadCSVLibrary
IOIPList.Add(doList[key].IO_IP); IOIPList.Add(doList[key].IO_IP);
} }
} }
if (nsc!=null)
{
DIList.Add(IO_Type.NextStopCheck, nsc);
}
} }
public ConfigIO getWaitIO(string ioType) public ConfigIO getWaitIO(string ioType)
{ {
......
...@@ -659,6 +659,9 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -659,6 +659,9 @@ namespace OnlineStore.LoadCSVLibrary
public static string SW_StopDown = "SW_StopDown"; public static string SW_StopDown = "SW_StopDown";
#endregion #endregion
public static string NextStopCheck = "NextStopCheck";
} }
public enum IO_VALUE public enum IO_VALUE
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!