Commit 71a400ab 张东亮

入库异常处理优化

1 个父辈 420c1605
...@@ -188,7 +188,7 @@ namespace DeviceLibrary ...@@ -188,7 +188,7 @@ namespace DeviceLibrary
break; break;
case MoveStep.StoreTS09: case MoveStep.StoreTS09:
RobotManage.CameraA.CameraGrabOne(RobotManage.CameraA.GetFixtureStateFilename(From.posid, WareCode, storeMoveType, FixtureState.FromOut)); RobotManage.CameraA.CameraGrabOne(RobotManage.CameraA.GetFixtureStateFilename(From.posid, WareCode, storeMoveType, FixtureState.FromOut));
if (!IgnoreX09 && IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW))
{ {
if (Common.IsManualHandleReelInFix() && Common.IsInstore(storeMoveType)) if (Common.IsManualHandleReelInFix() && Common.IsInstore(storeMoveType))
{ {
...@@ -217,6 +217,8 @@ namespace DeviceLibrary ...@@ -217,6 +217,8 @@ namespace DeviceLibrary
InOutEndProcess(StoreMoveType.OutStore, From.posid); InOutEndProcess(StoreMoveType.OutStore, From.posid);
} }
break; break;
#region 校准库位
case MoveStep.StoreFIX01: case MoveStep.StoreFIX01:
MoveInfo.NextMoveStep(MoveStep.StoreFIX02); MoveInfo.NextMoveStep(MoveStep.StoreFIX02);
RobotManage.PutReelInFixPos(MoveInfo.MoveParam); RobotManage.PutReelInFixPos(MoveInfo.MoveParam);
...@@ -335,6 +337,9 @@ namespace DeviceLibrary ...@@ -335,6 +337,9 @@ namespace DeviceLibrary
MoveInfo.log($"{storeMoveType}:料叉取到料"); MoveInfo.log($"{storeMoveType}:料叉取到料");
} }
break; break;
#endregion
case MoveStep.StoreTS10: case MoveStep.StoreTS10:
MoveInfo.NextMoveStep(MoveStep.StoreTS11); MoveInfo.NextMoveStep(MoveStep.StoreTS11);
RobotManage.ClearReelInFixPos(); RobotManage.ClearReelInFixPos();
...@@ -342,7 +347,6 @@ namespace DeviceLibrary ...@@ -342,7 +347,6 @@ namespace DeviceLibrary
MoveInfo.log($"{storeMoveType}:旋转轴去取料点P2[{To.Middle_P2}]"); MoveInfo.log($"{storeMoveType}:旋转轴去取料点P2[{To.Middle_P2}]");
UpDown_Axis.AbsMove(MoveInfo, To.UpDown_PH, Config.UpDown_P1_speed); UpDown_Axis.AbsMove(MoveInfo, To.UpDown_PH, Config.UpDown_P1_speed);
MoveInfo.log($"{storeMoveType}:上下轴去取料高点[{To.UpDown_PH}]"); MoveInfo.log($"{storeMoveType}:上下轴去取料高点[{To.UpDown_PH}]");
break; break;
case MoveStep.StoreTS11: case MoveStep.StoreTS11:
if (To.posid == BoxStorePosition.strings) if (To.posid == BoxStorePosition.strings)
...@@ -361,6 +365,7 @@ namespace DeviceLibrary ...@@ -361,6 +365,7 @@ namespace DeviceLibrary
} }
else if (To.posid == BoxStorePosition.ngdoor) else if (To.posid == BoxStorePosition.ngdoor)
{ {
if (mainMachine.ClampMoveInfo.MoveStep != MoveStep.Wait) if (mainMachine.ClampMoveInfo.MoveStep != MoveStep.Wait)
{ {
//if (MoveInfo.IsTimeOut(20)) //if (MoveInfo.IsTimeOut(20))
...@@ -371,20 +376,16 @@ namespace DeviceLibrary ...@@ -371,20 +376,16 @@ namespace DeviceLibrary
} }
else else
{ {
if(storeMoveType.Equals(StoreMoveType.InStore)) if (storeMoveType.Equals(StoreMoveType.InStore))
{ {
if (!IgnoreX09 && IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW)) if (IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.LOW))
{
if (Common.IsManualHandleReelInFix() && Common.IsInstore(storeMoveType))
{ {
IsNGReel = true; IsNGReel = true;
MoveInfo.log($"{storeMoveType}:到库位前料叉机构料盘检测X30灭,去单料口"); MoveInfo.log($"{storeMoveType}:到库位前料叉机构料盘检测X30灭,去单料口");
MoveInfo.EndMove(); MoveInfo.EndMove();
ErrMsgTxt = ""; ErrMsgTxt = "";
return false; return false;
}
else
Msg.add(crc.GetString(L.out_store_not_detect_material, "取料后料叉X30没有检测到有物料无法继续,请检查."), MsgLevel.alarm, ErrInfo.X09_BoxNotDetect);
} }
else else
{ {
...@@ -393,7 +394,22 @@ namespace DeviceLibrary ...@@ -393,7 +394,22 @@ namespace DeviceLibrary
} }
} }
} }
if (To.posid == BoxStorePosition.ngdoor)
{
CodeManager.TestHasRight = true;
var h1 = mainMachine.NGDoor_Tray_Test_Reel;
if (!h1.HasValue)
{
Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
}
else if (h1.Value)
{
Msg.add(crc.GetString(L.please_take_ngdoor_reel, "等待取走单料口料盘"), MsgLevel.alarm);
RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘"));
}
}
MoveInfo.NextMoveStep(MoveStep.StoreTS12); MoveInfo.NextMoveStep(MoveStep.StoreTS12);
break; break;
case MoveStep.StoreTS12: case MoveStep.StoreTS12:
MoveInfo.NextMoveStep(MoveStep.StoreTS13); MoveInfo.NextMoveStep(MoveStep.StoreTS13);
...@@ -416,9 +432,9 @@ namespace DeviceLibrary ...@@ -416,9 +432,9 @@ namespace DeviceLibrary
break; break;
case MoveStep.StoreTS15: case MoveStep.StoreTS15:
RobotManage.CameraA.CameraGrabOne(RobotManage.CameraA.GetFixtureStateFilename(To.posid, WareCode, storeMoveType, FixtureState.ToOut)); RobotManage.CameraA.CameraGrabOne(RobotManage.CameraA.GetFixtureStateFilename(To.posid, WareCode, storeMoveType, FixtureState.ToOut));
if (!IgnoreX09 && IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH)) if (IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
{ {
if (Common.IsManualHandleReelInFix() && Common.IsInstore(storeMoveType)) if (Common.IsInstore(storeMoveType))
{ {
IsNGReel = true; IsNGReel = true;
MoveInfo.log($"{storeMoveType}:放完料后料叉机构料盘检测X30亮,去单料口"); MoveInfo.log($"{storeMoveType}:放完料后料叉机构料盘检测X30亮,去单料口");
...@@ -429,7 +445,6 @@ namespace DeviceLibrary ...@@ -429,7 +445,6 @@ namespace DeviceLibrary
} }
else else
Msg.add(crc.GetString(L.in_store_detect_material, "放料后料叉X30上仍然检测到物料,请检查."), MsgLevel.alarm, ErrInfo.X09_BoxNotDetect); Msg.add(crc.GetString(L.in_store_detect_material, "放料后料叉X30上仍然检测到物料,请检查."), MsgLevel.alarm, ErrInfo.X09_BoxNotDetect);
//RobotManage.UserPause("入库后料叉X30上任然检测到物料,请检查");
} }
else else
{ {
......
...@@ -32,6 +32,10 @@ namespace DeviceLibrary ...@@ -32,6 +32,10 @@ namespace DeviceLibrary
{ {
ClampMoveInfo.NextMoveStep(MoveStep.ReelTaked); ClampMoveInfo.NextMoveStep(MoveStep.ReelTaked);
} }
/// <summary>
/// NG料盘已经放置完成
/// </summary>
/// <param name="msg"></param>
public void NGPuted(string msg) public void NGPuted(string msg)
{ {
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_01); ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_01);
...@@ -85,7 +89,7 @@ namespace DeviceLibrary ...@@ -85,7 +89,7 @@ namespace DeviceLibrary
{ {
if (IsGetReelReady && StoreMoveInfo.MoveStep == MoveStep.Wait && OutSingleJobList.Count == 0) if (IsGetReelReady && StoreMoveInfo.MoveStep == MoveStep.Wait && OutSingleJobList.Count == 0)
{ {
if (!boxTransport.IgnoreX09 && IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH)) if (IOManager.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
{ {
StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_02); StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_02);
CloseFlipDoor(StoreMoveInfo); CloseFlipDoor(StoreMoveInfo);
...@@ -185,7 +189,7 @@ namespace DeviceLibrary ...@@ -185,7 +189,7 @@ namespace DeviceLibrary
Msg.add(crc.GetString("r_flipDoor_no_work", "右侧翻板水平信号未亮"), MsgLevel.alarm); Msg.add(crc.GetString("r_flipDoor_no_work", "右侧翻板水平信号未亮"), MsgLevel.alarm);
RobotManage.UserPause(crc.GetString("r_flipDoor_no_work", "右侧翻板水平信号未亮")); RobotManage.UserPause(crc.GetString("r_flipDoor_no_work", "右侧翻板水平信号未亮"));
} }
else else //翻板水平
{ {
ClampMoveInfo.NextMoveStep(MoveStep.ReelClamp_10); ClampMoveInfo.NextMoveStep(MoveStep.ReelClamp_10);
if (RobotManage.InoutDebugMode) if (RobotManage.InoutDebugMode)
...@@ -275,12 +279,12 @@ namespace DeviceLibrary ...@@ -275,12 +279,12 @@ namespace DeviceLibrary
ClampMoveInfo.log($"料盘已取走"); ClampMoveInfo.log($"料盘已取走");
OpenFlipDoor(ClampMoveInfo); OpenFlipDoor(ClampMoveInfo);
break; break;
case MoveStep.NGOUT_00: //case MoveStep.NGOUT_00:
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_01); // ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_01);
//ClampMoveInfo.log("打开单料口门"); // ClampMoveInfo.log("关闭翻板");
CloseFlipDoor(ClampMoveInfo); // CloseFlipDoor(ClampMoveInfo);
break; // break;
case MoveStep.NGOUT_01: case MoveStep.NGOUT_01://料盘已放到托盘
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_02); ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_02);
ClampMoveInfo.log("打开单料口门"); ClampMoveInfo.log("打开单料口门");
//CylinderMove(null, IO_Type.NGDoor_Close, IO_Type.NGDoor_Open, IO_VALUE.HIGH); //CylinderMove(null, IO_Type.NGDoor_Close, IO_Type.NGDoor_Open, IO_VALUE.HIGH);
...@@ -289,49 +293,52 @@ namespace DeviceLibrary ...@@ -289,49 +293,52 @@ namespace DeviceLibrary
break; break;
case MoveStep.NGOUT_02: case MoveStep.NGOUT_02:
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_03); ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_03);
if (ConfigHelper.Config.Get("CamTestReel_Ability", false)) //if (ConfigHelper.Config.Get("CamTestReel_Ability", false))
{ //{
var h1 = NGDoor_Tray_Test_Reel; // var h1 = NGDoor_Tray_Test_Reel;
if (!h1.HasValue) // if (!h1.HasValue)
{ // {
Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm); // Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
} // }
else // else
if (!h1.Value) // if (!h1.Value)
{ // {
Msg.add(crc.GetString(L.x29_low_no_reel, "传感器X29未检测到单料口料盘."), MsgLevel.alarm); // Msg.add(crc.GetString(L.x29_low_no_reel, "传感器X29未检测到单料口料盘."), MsgLevel.alarm);
Msg.add(ClampMoveInfo.MoveParam.NgMsg, MsgLevel.warning); // Msg.add(ClampMoveInfo.MoveParam.NgMsg, MsgLevel.warning);
//RobotManage.UserPause(crc.GetString("Res0005", "传感器X29未检测到单料口料盘")); // //RobotManage.UserPause(crc.GetString("Res0005", "传感器X29未检测到单料口料盘"));
} // }
} //}
SingleDoor.ToHigh(ClampMoveInfo); SingleDoor.ToHigh(ClampMoveInfo);
break;
case MoveStep.NGOUT_03:
Msg.add(ClampMoveInfo.MoveParam.NgMsg, MsgLevel.warning);
var h = NGDoor_Tray_Test_Reel;
if (!h.HasValue)
{
Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
}
else
if (h.Value)
{
Msg.add(crc.GetString(L.please_take_ngdoor_reel, "等待取走单料口料盘"), MsgLevel.alarm); Msg.add(crc.GetString(L.please_take_ngdoor_reel, "等待取走单料口料盘"), MsgLevel.alarm);
if (ConfigHelper.Config.Get("CamTestReel_Ability", false))
{
//ClampMoveInfo.LastSetpTime = DateTime.Now;
//ClampMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
if (ConfigHelper.Config.Get("Device_ManualCloseSingleDoor", false))
RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘"));
}
else
{
if (!ConfigHelper.Config.Get("CamTestReel_Ability", false))
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_04);
RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘")); RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘"));
} break;
} case MoveStep.NGOUT_03:
else //Msg.add(ClampMoveInfo.MoveParam.NgMsg, MsgLevel.warning);
// var h = NGDoor_Tray_Test_Reel;
//if (!h.HasValue)
//{
// Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
//}
//else if (h.Value)
//{
// ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_04);
// Msg.add(crc.GetString(L.please_take_ngdoor_reel, "等待取走单料口料盘"), MsgLevel.alarm);
// RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘"));
// //if (ConfigHelper.Config.Get("CamTestReel_Ability", false))
// //{
// // //ClampMoveInfo.LastSetpTime = DateTime.Now;
// // //ClampMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
// // // if (ConfigHelper.Config.Get("Device_ManualCloseSingleDoor", false))
// //}
// //else
// //{
// // if (!ConfigHelper.Config.Get("CamTestReel_Ability", false))
// // ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_04);
// // RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘"));
// //}
//}
//else
{ {
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_04); ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_04);
ClampMoveInfo.log("料盘已取走"); ClampMoveInfo.log("料盘已取走");
...@@ -348,13 +355,13 @@ namespace DeviceLibrary ...@@ -348,13 +355,13 @@ namespace DeviceLibrary
} }
break; break;
case MoveStep.NGOUT_05: case MoveStep.NGOUT_05:
h = NGDoor_Tray_Test_Reel; //h = NGDoor_Tray_Test_Reel;
if (!h.HasValue) //if (!h.HasValue)
{ //{
Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm); // Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
} //}
else //else
if (IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH) && !h.Value) if (IOValue(IO_Type.SafetyLightCurtains).Equals(IO_VALUE.HIGH))// && !h.Value
{ {
ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_06); ClampMoveInfo.NextMoveStep(MoveStep.NGOUT_06);
ClampMoveInfo.log("关门NG口门"); ClampMoveInfo.log("关门NG口门");
...@@ -391,7 +398,7 @@ namespace DeviceLibrary ...@@ -391,7 +398,7 @@ namespace DeviceLibrary
ClampMoveInfo.MoveParam.PlateW = 7; ClampMoveInfo.MoveParam.PlateW = 7;
ClampMoveInfo.MoveParam.PlateH = 100; ClampMoveInfo.MoveParam.PlateH = 100;
h = NGDoor_Tray_Test_Reel; var h = NGDoor_Tray_Test_Reel;
if (!h.HasValue) if (!h.HasValue)
{ {
Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm); Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
...@@ -410,7 +417,7 @@ namespace DeviceLibrary ...@@ -410,7 +417,7 @@ namespace DeviceLibrary
break; break;
} }
} }
bool? NGDoor_Tray_Test_Reel public bool? NGDoor_Tray_Test_Reel
{ {
get get
{ {
......
...@@ -168,17 +168,37 @@ namespace DeviceLibrary ...@@ -168,17 +168,37 @@ namespace DeviceLibrary
{ {
StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_02); StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_02);
CloseFlipDoor(StoreMoveInfo); CloseFlipDoor(StoreMoveInfo);
CodeManager.TestHasRight = true;
StoreMoveInfo.log($"取消[{StoreMoveInfo.MoveParam.WareCode}]入库任务"); StoreMoveInfo.log($"取消[{StoreMoveInfo.MoveParam.WareCode}]入库任务");
} }
break; break;
case MoveStep.StoreInNG_02: case MoveStep.StoreInNG_02:
var h1 = NGDoor_Tray_Test_Reel;
if (!h1.HasValue)
{
Msg.add(crc.GetString(L.x29_low_no_reel, "检测相机打开失败."), MsgLevel.alarm);
}
else if (h1.Value)
{
StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_03);
StoreMoveInfo.log($"单料口有料盘,系统暂停");
Msg.add(crc.GetString(L.please_take_ngdoor_reel, "等待取走单料口料盘"), MsgLevel.alarm);
RobotManage.UserPause(crc.GetString("please_take_ngdoor_reel", "等待取走单口料盘"));
}
else
{
StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_03); StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_03);
// var outFrom = CSVPositionReader<ACStorePosition>.GetPositon(StoreMoveInfo.MoveParam.PosID); StoreMoveInfo.log($"单料口无料盘");
}
break;
case MoveStep.StoreInNG_03:
StoreMoveInfo.NextMoveStep(MoveStep.StoreInNG_04);
BoxStorePosition tar = new BoxStorePosition(Config, StoreSide.NGDoor, StoreMoveInfo.MoveParam); BoxStorePosition tar = new BoxStorePosition(Config, StoreSide.NGDoor, StoreMoveInfo.MoveParam);
boxTransport.Start(null, tar, StoreMoveType.InStore); boxTransport.Start(null, tar, StoreMoveType.InStore);
StoreMoveInfo.log($"开始转运料盘到单料口"); StoreMoveInfo.log($"开始转运料盘到单料口");
break; break;
case MoveStep.StoreInNG_03: case MoveStep.StoreInNG_04:
if (boxTransport.IsPutOnOut) if (boxTransport.IsPutOnOut)
{ {
StoreMoveInfo.log($"料盘已到达单料口"); StoreMoveInfo.log($"料盘已到达单料口");
...@@ -186,9 +206,6 @@ namespace DeviceLibrary ...@@ -186,9 +206,6 @@ namespace DeviceLibrary
StoreMoveInfo.EndMove(); StoreMoveInfo.EndMove();
} }
break; break;
case MoveStep.StoreInNG_04:
break;
case MoveStep.StoreInNG_05: case MoveStep.StoreInNG_05:
break; break;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!