Commit 95dd62db 张东亮

复位前检查抽屉到位信号

1 个父辈 863200c2
...@@ -288,6 +288,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -288,6 +288,15 @@ namespace OnlineStore.DeviceLibrary
LogInfo($"复位 {MoveInfo.SLog} :确认取消"); LogInfo($"复位 {MoveInfo.SLog} :确认取消");
return; return;
} }
if(!CheckTrayInLocation(out string msg))
{
System.Windows.Forms.MessageBox.Show($"{msg},不允许启动/复位", "警告",
System.Windows.Forms.MessageBoxButtons.OK);
SetBoxStatus(DeviceStatus.None, RunStatus.Wait);
MoveInfo.NewMove(MoveType.None);
LogInfo($"复位 {MoveInfo.SLog} :因到位信号取消");
return;
}
SetWarnMsg(""); SetWarnMsg("");
alarmType = AlarmType.None; alarmType = AlarmType.None;
isInSuddenDown = false; isInSuddenDown = false;
......
...@@ -280,8 +280,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -280,8 +280,18 @@ namespace OnlineStore.DeviceLibrary
break; break;
case StepEnum.SI_10_LiftTray: case StepEnum.SI_10_LiftTray:
MoveInfo.NextMoveStep(StepEnum.SI_11_PullTray); MoveInfo.NextMoveStep(StepEnum.SI_11_PullTray);
LogInfo($"入库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"入库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5,同时检测{trayAColumns[GetPosColumn()]}=0[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P3_P5(); PullAxis_Inout_To_P3_P5();
if (CheckASide())
{
if (!GetShieldState(sheidAColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.LOW));
}
else
{
if (!GetShieldState(sheidBColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.LOW));
}
break; break;
case StepEnum.SI_11_PullTray: case StepEnum.SI_11_PullTray:
MoveInfo.NextMoveStep(StepEnum.SI_12_DropTrayToPos); MoveInfo.NextMoveStep(StepEnum.SI_12_DropTrayToPos);
......
...@@ -79,8 +79,18 @@ namespace OnlineStore.DeviceLibrary ...@@ -79,8 +79,18 @@ namespace OnlineStore.DeviceLibrary
break; break;
case StepEnum.SO_04_LiftTray: case StepEnum.SO_04_LiftTray:
MoveInfo.NextMoveStep(StepEnum.SO_05_PullTray); MoveInfo.NextMoveStep(StepEnum.SO_05_PullTray);
LogInfo($"出库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"); LogInfo($"出库 {MoveInfo.SLog}:拉抽屉到库位点,料斗拉取进出轴到料屉库位点P3/P5,同时检测{trayAColumns[GetPosColumn()]}=0[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]");
PullAxis_Inout_To_P3_P5(); PullAxis_Inout_To_P3_P5();
if (CheckASide())
{
if (!GetShieldState(sheidAColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayAColumns[GetPosColumn()], IO_VALUE.LOW));
}
else
{
if (!GetShieldState(sheidBColmns[GetPosColumn()]))
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(trayBColumns[GetPosColumn()], IO_VALUE.LOW));
}
break; break;
case StepEnum.SO_05_PullTray: case StepEnum.SO_05_PullTray:
MoveInfo.NextMoveStep(StepEnum.SO_06_DropTrayToPos); MoveInfo.NextMoveStep(StepEnum.SO_06_DropTrayToPos);
......
...@@ -585,7 +585,57 @@ namespace OnlineStore.DeviceLibrary ...@@ -585,7 +585,57 @@ namespace OnlineStore.DeviceLibrary
} }
} }
#endregion #endregion
/// <summary>
/// 检查抽屉是否在位置
/// </summary>
/// <returns>true:在位置</returns>
private bool CheckTrayInLocation(out string msg)
{
msg = "";
for (int i = 1; i <= trayRows.Length; i++)
{
if (i == trayRows.Length)
break;
if (IOValue(trayRows[i]).Equals(IO_VALUE.HIGH))
{
LogUtil.info($"复位前 检测到抽屉在第{i}层");
msg += $"检测到抽屉在第{i}层,";
break;
}
}
bool atBside = false;
for (int i = 1; i <= trayBColumns.Length; i++)
{
if (i == trayBColumns.Length)
break;
if (GetShieldState(sheidBColmns[i]))
continue;
if (IOValue(trayBColumns[i]).Equals(IO_VALUE.LOW))//&& PullAxis_Inout.GetAclPosition()<=Config.PullAxis_Inout_P1
{
LogUtil.info($"复位前 检测到抽屉在B面[col={i}]信号未亮");
msg += $"抽屉在B面[col={i}]信号未亮";
atBside = true;
return false;
}
}
if (!atBside)
{
for (int i = 1; i <= trayAColumns.Length; i++)
{
if (i == trayBColumns.Length)
break;
if (GetShieldState(sheidAColmns[i]))
continue;
if (IOValue(trayAColumns[i]).Equals(IO_VALUE.LOW))//&& PullAxis_Inout.GetAclPosition() >= Config.PullAxis_Inout_P1
{
LogUtil.info($"复位前 检测到抽屉在A面[col={i}]信号未亮");
msg += $"抽屉在A面[col={i}]信号未亮";
return false;
}
}
}
return true;
}
/// <summary> /// <summary>
/// 获取当前位置 /// 获取当前位置
/// </summary> /// </summary>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!