Commit e5b0d154 LN

T3和T4增加出料线体料架处理

1 个父辈 9e6f100f
......@@ -76,14 +76,16 @@
20210121
需要修改:
1.料仓调试模式下,不出入库,也不获取库位号。
2.料仓压紧点位置根据料盘厚度来判断。
3。仓门口,夹爪未抓起料后,判断料再下方,重新抓取一次
复位时,进仓夹爪有料,保存状态,复位完成后继续出入库。
大料入库时,夹爪上的料56寸时会撞
已修改:
1.料仓调试模式下,不出入库,也不获取库位号。
料仓或者移栽调试状态时,不获取库位号。
......
......@@ -425,10 +425,11 @@ namespace OnlineStore.DeviceLibrary
{
CheckAxisAlarm(UpdownAxis,BatchAxis);
}
OutLineProcess();
}
}
private void CloseLed()
{
CheckAndMove(IO_Type.SL_AlarmLed, IO_VALUE.LOW);
......@@ -1091,6 +1092,53 @@ namespace OnlineStore.DeviceLibrary
return true;
}
private bool ProOutLine = false;
internal void OutLineProcess()
{
if (HasOutLine && IOValue(IO_Type.SL_OutLine_Check).Equals(IO_VALUE.LOW) && IOValue(IO_Type.SL_Out_Check).Equals(IO_VALUE.HIGH))
{
if (IOValue(IO_Type.SL_OutLine_Run).Equals(IO_VALUE.LOW) && (!ProcessShelfOut))
{
string logName = Name + " 出料线体料架->出口";
Task.Factory.StartNew(delegate
{
ProOutLine = true;
try
{
LogUtil.info(logName + ", 开始转动出料线体");
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.HIGH);
bool result = WaitIo(IO_Type.SL_OutLine_Check, IO_VALUE.HIGH, 60000);
if (!ProcessShelfOut)
{
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.LOW);
}
ProOutLine = false;
}
catch (TimeoutException te)
{
LogUtil.error(logName + " 超时:" + te);
}
catch (Exception ex)
{
LogUtil.error(logName + " 出错:", ex);
}
finally
{
if (!ProcessShelfOut)
{
IOMove(IO_Type.SL_OutLine_Run, IO_VALUE.LOW);
}
ProOutLine = false;
}
});
}
}
}
#region 料架号保存
private void UpdateLastShelfID(string currRfid = "")
......
......@@ -735,6 +735,7 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_00_Stop1Down);
CheckLog(" 托盘检测:料盘检测StopCylinder_Check1 " + SecondMoveInfo.SLog + "阻挡气缸1-1下降 , 等待 StopCylinder_Check1=0,清理托盘RFID");
ClearTrayRFID();
IOMove(IO_Type.StopDown2, IO_VALUE.LOW);
IOMove(IO_Type.StopDown1, IO_VALUE.HIGH, 1200);
SecondMoveInfo.OneWaitCanEndStep = true;
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck1, IO_VALUE.LOW));
......@@ -787,6 +788,7 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_TrayCheck);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸1-1上升,等待 阻挡2托盘检测=1)");
SecondMoveInfo.OneWaitCanEndStep = true;
IOMove(IO_Type.StopDown2, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCheck2, IO_VALUE.HIGH));
//最多等待30秒
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!