Commit 23cc1681 张东亮

在缓存区放料的这个动作去掉。加启动前加上检查下缓存区有料但没信息的或者有信息无料的情况

1 个父辈 fee4217a
......@@ -348,6 +348,55 @@ namespace OnlineStore.DeviceLibrary
return true;
return false;
}
bool isFixOrBufferHasReel(out string msg)
{
msg = "";
StringBuilder sb = new StringBuilder();
if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.AInStoreInfo == null)
{
sb.AppendLine("A上暂存区检测到有料盘,但无缓存信息");
}
else if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW) && BufferDataManager.AInStoreInfo != null)
{
sb.AppendLine("A上暂存区有缓存信息,但无料");
}
if (IOValue(IO_Type.FeedingA_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.AOutStoreInfo == null)
{
sb.AppendLine("A下暂存区检测到有料盘,但无缓存信息");
}
else if (IOValue(IO_Type.FeedingA_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW) && BufferDataManager.AOutStoreInfo != null)
{
sb.AppendLine("A下暂存区有缓存信息,但无料");
}
if (IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.BInStoreInfo == null)
{
sb.AppendLine("B上暂存区检测到有料盘,但无缓存信息");
}
else if (IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW) && BufferDataManager.BInStoreInfo != null)
{
sb.AppendLine("B上暂存区有缓存信息,但无料");
}
if (IOValue(IO_Type.FeedingB_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.HIGH) && BufferDataManager.BOutStoreInfo == null)
{
sb.AppendLine("B下暂存区检测到有料盘,但无缓存信息");
}
else if(IOValue(IO_Type.FeedingB_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW) && BufferDataManager.BOutStoreInfo != null)
{
sb.AppendLine("B下暂存区有缓存信息,但无料");
}
if (IOValue(IO_Type.ForkA_Tray_Check).Equals(IO_VALUE.HIGH))
{
sb.AppendLine("A面料叉检测到有料盘");
}
if (IOValue(IO_Type.ForkB_Tray_Check).Equals(IO_VALUE.HIGH))
{
sb.AppendLine("B面料叉检测到有料盘");
}
msg = sb.ToString();
return !string.IsNullOrEmpty(msg);
}
private void StartReset()
{
if (HasDrawerInHook())
......@@ -355,7 +404,15 @@ namespace OnlineStore.DeviceLibrary
System.Windows.Forms.MessageBox.Show("检测到拉取机构上的拉钩检测信号亮,不允许复位!", "警告");
return;
}
if (isFixOrBufferHasReel(out string msg1))
{
System.Windows.Forms.MessageBox.Show($"不允许启动/复位{msg1}", "警告",
System.Windows.Forms.MessageBoxButtons.OK);
SetBoxStatus(DeviceStatus.None, RunStatus.Wait);
MoveInfo.NewMove(MoveType.None);
LogInfo($"复位 {MoveInfo.SLog} :{msg1}");
return;
}
if (!CanReset())
if (System.Windows.Forms.MessageBox.Show("检测到可能的撞机风险,请确认进出轴上是否有抽屉!若无抽屉在进出轴上,可继续复位,是否继续?", "警告",
System.Windows.Forms.MessageBoxButtons.YesNo).Equals(System.Windows.Forms.DialogResult.No))
......@@ -521,35 +578,35 @@ namespace OnlineStore.DeviceLibrary
}
break;
case StepEnum.BOX_H0102_MiddleAxisToP2:
if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW) || IOValue(IO_Type.FeedingA_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW))
{
MoveInfo.NextMoveStep(StepEnum.BOX_H0103_ToAInputHighPos);
if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P5 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P4 + axisDiff)
&& (BufferDataManager.AOutStoreInfo == null || IOValue(IO_Type.FeedingA_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW)))
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A下暂存区低点和高点之间,到高点P4,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2");
ComAxis_A.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_A_P2_Speed);
XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P2, Config.XAxis_A_P2_Speed);
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P4, Config.Updown_P4_Speed);
}
else if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P3 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P2 + axisDiff)
&& (BufferDataManager.AInStoreInfo == null || IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW)))
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A上暂存区低点和高点之间,到高点P2,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2");
ComAxis_A.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_A_P2_Speed);
XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P2, Config.XAxis_A_P2_Speed);
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P2, Config.Updown_P2_Speed);
}
else
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴不在A暂存区低点和高点之间,不动作");
}
}
else
//if (IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW) || IOValue(IO_Type.FeedingA_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW))
//{
// MoveInfo.NextMoveStep(StepEnum.BOX_H0103_ToAInputHighPos);
// if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P5 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P4 + axisDiff)
// && (BufferDataManager.AOutStoreInfo == null || IOValue(IO_Type.FeedingA_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW)))
// {
// LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A下暂存区低点和高点之间,到高点P4,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2");
// ComAxis_A.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_A_P2_Speed);
// XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P2, Config.XAxis_A_P2_Speed);
// UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P4, Config.Updown_P4_Speed);
// }
// else if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P3 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P2 + axisDiff)
// && (BufferDataManager.AInStoreInfo == null || IOValue(IO_Type.FeedingA_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW)))
// {
// LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在A上暂存区低点和高点之间,到高点P2,A面移栽X轴去暂存区P2,A面压紧轴到压紧前点P2");
// ComAxis_A.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_A_P2_Speed);
// XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P2, Config.XAxis_A_P2_Speed);
// UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P2, Config.Updown_P2_Speed);
// }
// else
// {
// LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴不在A暂存区低点和高点之间,不动作");
// }
//}
//else
{
MoveInfo.NextMoveStep(StepEnum.BOX_H0105_A_XAxisToP1);
XAxis_A.AbsMove(MoveInfo, Config.XAxis_A_P1, Config.XAxis_A_P1_Speed);
LogInfo($"复位 {MoveInfo.SLog}:A暂存区有料,A面移栽X轴到待机点P1");
LogInfo($"复位 {MoveInfo.SLog}:A面移栽X轴到待机点P1");//A暂存区有料,
}
break;
case StepEnum.BOX_H0103_ToAInputHighPos:
......@@ -576,36 +633,36 @@ namespace OnlineStore.DeviceLibrary
break;
case StepEnum.BOX_H0105_A_XAxisToP1:
if (IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW) || IOValue(IO_Type.FeedingB_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW))
{
MoveInfo.NextMoveStep(StepEnum.BOX_H0105_ToBInputHighPos);
if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P11 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P10 + axisDiff) &&
(BufferDataManager.BOutStoreInfo == null || IOValue(IO_Type.FeedingB_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW)))
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B下暂存区低点和高点之间,到高点P10,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2");
ComAxis_B.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_B_P2_Speed);
XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P2, Config.XAxis_B_P2_Speed);
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P10, Config.Updown_P10_Speed);
}
else if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P9 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P8 + axisDiff) &&
(BufferDataManager.BInStoreInfo == null || IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW)))
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B上暂存区低点和高点之间,到高点P8,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2");
ComAxis_B.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_B_P2_Speed);
XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P2, Config.XAxis_B_P2_Speed);
UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P8, Config.Updown_P8_Speed);
}
else
{
LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴不在B暂存区低点和高点之间,不动作");
}
}
else
//if (IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW) || IOValue(IO_Type.FeedingB_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW))
//{
// MoveInfo.NextMoveStep(StepEnum.BOX_H0105_ToBInputHighPos);
// if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P11 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P10 + axisDiff) &&
// (BufferDataManager.BOutStoreInfo == null || IOValue(IO_Type.FeedingB_Outstore_UnderArea_ReelCheck).Equals(IO_VALUE.LOW)))
// {
// LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B下暂存区低点和高点之间,到高点P10,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2");
// ComAxis_B.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_B_P2_Speed);
// XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P2, Config.XAxis_B_P2_Speed);
// UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P10, Config.Updown_P10_Speed);
// }
// else if (UpdownAxis.GetAclPosition() >= (MoveInfo.MoveParam.MoveP.Updown_P9 - axisDiff) && UpdownAxis.GetAclPosition() <= (MoveInfo.MoveParam.MoveP.Updown_P8 + axisDiff) &&
// (BufferDataManager.BInStoreInfo == null || IOValue(IO_Type.FeedingB_Instore_UpperArea_ReelCheck).Equals(IO_VALUE.LOW)))
// {
// LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴在B上暂存区低点和高点之间,到高点P8,B面移栽X轴去暂存区P2,B面压紧轴到压紧前点P2");
// ComAxis_B.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.ComAxis_AB_P2, Config.ComAxis_B_P2_Speed);
// XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P2, Config.XAxis_B_P2_Speed);
// UpdownAxis.AbsMove(MoveInfo, MoveInfo.MoveParam.MoveP.Updown_P8, Config.Updown_P8_Speed);
// }
// else
// {
// LogInfo($"复位 {MoveInfo.SLog}:移栽升降轴不在B暂存区低点和高点之间,不动作");
// }
//}
//else
{
MoveInfo.NextMoveStep(StepEnum.BOX_H01_CheckCurPullDownPos);
XAxis_B.AbsMove(MoveInfo, Config.XAxis_B_P1, Config.XAxis_B_P1_Speed);
MoveAxisToP1();
LogInfo($"复位 {MoveInfo.SLog}:B暂存区有料,B面移栽X轴到待机点P1,行走机构到待机点P1,在暂存区复位结束");
LogInfo($"复位 {MoveInfo.SLog}:B面移栽X轴到待机点P1,行走机构到待机点P1,在暂存区复位结束");//B暂存区有料,
}
break;
case StepEnum.BOX_H0105_ToBInputHighPos:
......
......@@ -502,7 +502,7 @@ namespace OnlineStore.XLRStore
//}
foreach (DeviceBase device in deviceBases)
{
if (device.runStatus > RunStatus.Wait)
if (device.runStatus >= RunStatus.Wait)
{
if (!device.WarnMsg.Equals(""))
{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!