Commit 3c31060e 张东亮

出库同一个工单两料串都有料情况

1 个父辈 338752ba
...@@ -66,7 +66,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -66,7 +66,7 @@ namespace OnlineStore.DeviceLibrary
public void TimerProcess() public void TimerProcess()
{ {
//如果急停,不再处理 //如果急停,不再处理
if (Robot.alarmType.Equals(AlarmType.SuddenStop)|| Robot.alarmType.Equals(AlarmType.NoAirpressure_Check)) if (Robot.alarmType.Equals(AlarmType.SuddenStop) || Robot.alarmType.Equals(AlarmType.NoAirpressure_Check))
{ {
return; return;
} }
...@@ -85,7 +85,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -85,7 +85,8 @@ namespace OnlineStore.DeviceLibrary
if (Robot.IOValue(Config.IO_AGV_RequestIn).Equals(IO_VALUE.HIGH)) if (Robot.IOValue(Config.IO_AGV_RequestIn).Equals(IO_VALUE.HIGH))
{ {
ShelfEnterProcess("", ""); ShelfEnterProcess("", "");
}else if (Robot.AutoInput && Robot.IOValue(Config.IO_LineIn_Check).Equals(IO_VALUE.HIGH)) }
else if (Robot.AutoInput && Robot.IOValue(Config.IO_LineIn_Check).Equals(IO_VALUE.HIGH))
{ {
LogUtil.debug($"{Name} 处理2"); LogUtil.debug($"{Name} 处理2");
StartInstore(new InOutParam()); StartInstore(new InOutParam());
...@@ -164,7 +165,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -164,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
BatchAxis.SuddenStop(); BatchAxis.SuddenStop();
BatchAxis.ServoOff(); BatchAxis.ServoOff();
WarnMsg = Name + "复位失败:批量轴打开失败:"+msg; WarnMsg = Name + "复位失败:批量轴打开失败:" + msg;
return false; return false;
} }
if (resetShelf) if (resetShelf)
...@@ -175,7 +176,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -175,7 +176,7 @@ namespace OnlineStore.DeviceLibrary
preCodeList = new List<string>(); preCodeList = new List<string>();
WarnMsg = ""; WarnMsg = "";
alarmType = AlarmType.None; alarmType = AlarmType.None;
MoveInfo.NewMove(MoveType.Reset,new InOutParam()); MoveInfo.NewMove(MoveType.Reset, new InOutParam());
MoveInfo.NextMoveStep(StepEnum.IBR01_StopDown); MoveInfo.NextMoveStep(StepEnum.IBR01_StopDown);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
WorkLog("开始复位,定位气缸下降"); WorkLog("开始复位,定位气缸下降");
...@@ -347,7 +348,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -347,7 +348,8 @@ namespace OnlineStore.DeviceLibrary
} }
targetSpeed = Robot.Config.BatchAxis_P3Speed; targetSpeed = Robot.Config.BatchAxis_P3Speed;
} }
else { else
{
targetSpeed = Robot.Config.BatchAxis_P1Speed; targetSpeed = Robot.Config.BatchAxis_P1Speed;
} }
// 需要增加定时器,获取验证信号并停止伺服 // 需要增加定时器,获取验证信号并停止伺服
...@@ -562,7 +564,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -562,7 +564,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
internal bool ShelfReadyOut(InOutPosInfo posInfo = null, bool SendShelfOut = false) internal bool ShelfReadyOut(InOutPosInfo posInfo = null, bool SendShelfOut = false, ShelfInfo otherBatchShelf = null)
{ {
if (MoveInfo.MoveType.Equals(MoveType.OutStore) && MoveInfo.IsStep(StepEnum.IS11_ShelfReady)) if (MoveInfo.MoveType.Equals(MoveType.OutStore) && MoveInfo.IsStep(StepEnum.IS11_ShelfReady))
{ {
...@@ -570,6 +572,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -570,6 +572,7 @@ namespace OnlineStore.DeviceLibrary
{ {
return true; return true;
} }
//TODO 验证料串是否同一个,不是同一个直接送出料串 //TODO 验证料串是否同一个,不是同一个直接送出料串
if (String.IsNullOrEmpty(CurrShelf.XuniRfid)) if (String.IsNullOrEmpty(CurrShelf.XuniRfid))
{ {
...@@ -654,7 +657,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -654,7 +657,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (WarnMsg.Contains(msg)) if (WarnMsg.Contains(msg))
{ {
WarnMsg=""; WarnMsg = "";
} }
} }
} }
......
...@@ -400,7 +400,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -400,7 +400,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo("复位完成"); LogInfo("复位完成");
runStatus = RunStatus.Runing; runStatus = RunStatus.Runing;
MoveInfo.EndMove(); MoveInfo.EndMove();
if(clampHasReelWhen) if (clampHasReelWhen)
{ {
runStatus = RunStatus.Busy; runStatus = RunStatus.Busy;
MoveInfo.NewMove(MoveType.OutStore, new InOutParam()); MoveInfo.NewMove(MoveType.OutStore, new InOutParam());
...@@ -633,6 +633,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -633,6 +633,13 @@ namespace OnlineStore.DeviceLibrary
{ {
if (moveBean.MoveInfo.MoveType.Equals(MoveType.Reset) || moveBean.MoveInfo.MoveType.Equals(MoveType.RHome)) if (moveBean.MoveInfo.MoveType.Equals(MoveType.Reset) || moveBean.MoveInfo.MoveType.Equals(MoveType.RHome))
continue; continue;
var otherModeBean = BatchMoveList.Find(s => !s.Name.Equals(moveBean.Name));
var othSerial = otherModeBean?.MoveInfo.MoveParam?.PosInfo?.hSerial ?? "";
var othHasTheHserial = false;
if (!string.IsNullOrEmpty(othSerial) && othSerial.Equals(posInfo.hSerial))
{
othHasTheHserial = true;
}
//LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理"); //LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理");
var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial ?? ""; var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial ?? "";
if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial) if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial)
...@@ -646,7 +653,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -646,7 +653,7 @@ namespace OnlineStore.DeviceLibrary
moveBean.StartOutstore(); moveBean.StartOutstore();
return true; return true;
} }
else if (moveBean.ShelfReadyOut(posInfo, shelfAutoLeave)) else if (!othHasTheHserial && moveBean.ShelfReadyOut(posInfo, shelfAutoLeave))
{ {
InOutParam param = new InOutParam(posInfo.ToCopy()); InOutParam param = new InOutParam(posInfo.ToCopy());
param.ShelfType = moveBean.ShelfType; param.ShelfType = moveBean.ShelfType;
...@@ -713,6 +720,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -713,6 +720,13 @@ namespace OnlineStore.DeviceLibrary
// LogUtil.debug($"{moveBean.Name} CheckStartOutPos {moveBean.MoveInfo.MoveType}"); // LogUtil.debug($"{moveBean.Name} CheckStartOutPos {moveBean.MoveInfo.MoveType}");
if (moveBean.MoveInfo.MoveType.Equals(MoveType.Reset) || moveBean.MoveInfo.MoveType.Equals(MoveType.RHome)) if (moveBean.MoveInfo.MoveType.Equals(MoveType.Reset) || moveBean.MoveInfo.MoveType.Equals(MoveType.RHome))
continue; continue;
var otherModeBean = BatchMoveList.Find(s => !s.Name.Equals(moveBean.Name));
var othSerial = otherModeBean?.MoveInfo.MoveParam?.PosInfo?.hSerial ?? "";
var othHasTheHserial = false;
if (!string.IsNullOrEmpty(othSerial) && othSerial.Equals(posInfo.hSerial))
{
othHasTheHserial = true;
}
// LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理"); // LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理");
var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial ?? ""; var curhSerial = moveBean.MoveInfo.MoveParam?.PosInfo?.hSerial ?? "";
if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial) if (!string.IsNullOrEmpty(curhSerial) && curhSerial != posInfo.hSerial)
...@@ -726,7 +740,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -726,7 +740,7 @@ namespace OnlineStore.DeviceLibrary
moveBean.StartOutstore(); moveBean.StartOutstore();
return true; return true;
} }
else if (moveBean.ShelfReadyOut(posInfo, shelfAutoLeave)) else if (!othHasTheHserial && moveBean.ShelfReadyOut(posInfo, shelfAutoLeave))
{ {
InOutParam param = new InOutParam(posInfo.ToCopy()); InOutParam param = new InOutParam(posInfo.ToCopy());
param.ShelfType = moveBean.ShelfType; param.ShelfType = moveBean.ShelfType;
......
...@@ -999,6 +999,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -999,6 +999,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
MoveInfo.NextMoveStep(StepEnum.IO03_InoutToP2); MoveInfo.NextMoveStep(StepEnum.IO03_InoutToP2);
ClampRelax(MoveInfo);
clampTryCount++; clampTryCount++;
MoveLog($"出库A->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"); MoveLog($"出库A->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取");
} }
...@@ -1108,6 +1109,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1108,6 +1109,7 @@ namespace OnlineStore.DeviceLibrary
else else
{ {
MoveInfo.NextMoveStep(StepEnum.IO13_InoutToP3); MoveInfo.NextMoveStep(StepEnum.IO13_InoutToP3);
ClampRelax(MoveInfo);
clampTryCount++; clampTryCount++;
MoveLog($"出库B->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"); MoveLog($"出库B->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取");
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!