Commit 9fc29e7c LN

X21信号亮后等待1秒再停线体。增加配置ShelfWaitTime

1 个父辈 511cfb61
......@@ -177,6 +177,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
S1_C04_DToLeft,
/// <summary>
/// C料架->S1::料架到达后再等待2秒
/// </summary>
S1_C04_DToLeft_Wait,
/// <summary>
/// C料架->S1:判断S1是否有料架
/// </summary>
S1_C05_CheckS1,
......@@ -218,6 +222,11 @@ namespace OnlineStore.DeviceLibrary
/// D料架->S1::等待料架到达左侧
/// </summary>
S1_D16_CToLeft,
/// <summary>
/// D料架->S1::等待料架到达左侧后等待1秒
/// </summary>
S1_D16_CToLeft_Wait,
/// <summary>
/// D料架->S1:判断S1是否有料架
/// </summary>
......
......@@ -28,9 +28,10 @@ namespace OnlineStore.DeviceLibrary
//IO重写功能,过滤掉线体运转信号,其他信号重写
//判断是否是线体运转信号
string Line = "Line";
if (ioType.Contains(Line))
string HddLed = "HddLed";
if (ioType.Contains(Line) || ioType.Contains(HddLed))
{
//线体和灯信号不重写
}
else
{
......
......@@ -58,6 +58,10 @@ namespace OnlineStore.DeviceLibrary
Thread.Sleep(300);
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
if (ShelfWaitTime <= 0)
{
ShelfWaitTime = 2000;
}
}
......
......@@ -13,6 +13,7 @@ namespace OnlineStore.DeviceLibrary
{
partial class DoubleLineBean
{
private int ShelfWaitTime = ConfigAppSettings.GetIntValue("ShelfWaitTime");
#region 料架切换处理
/// <summary>
/// 工位S2是否可以放行左侧的料架
......@@ -310,6 +311,20 @@ namespace OnlineStore.DeviceLibrary
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C04_DToLeft))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_C04_DToLeft_Wait);
S1Log("料架已到达左侧,"+ ShelfWaitTime + "后 再次等待 X21");
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ShelfWaitTime));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_C04_DToLeft_Wait))
{
if (IOValue(IO_Type.PreS1_PosStopCheck).Equals(IO_VALUE.LOW))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_C04_DToLeft_Wait);
S1Log("料架已到达左侧,"+ ShelfWaitTime + "后 再次等待 X21");
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ShelfWaitTime));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
}
if (S1_CurrShelfId.Equals(""))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_C06_SaveLeft);
......@@ -482,9 +497,23 @@ namespace OnlineStore.DeviceLibrary
S1LineRun(SOneMoveInfo);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.M_LeftStopCheck, IO_VALUE.LOW));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
}else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D16_CToLeft))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_D16_CToLeft_Wait);
S1Log("料架已到达左侧,"+ ShelfWaitTime + " 后 再次等待 X21");
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ShelfWaitTime));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D16_CToLeft))
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_D16_CToLeft_Wait))
{
if (IOValue(IO_Type.PreS1_PosStopCheck).Equals(IO_VALUE.LOW))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_D16_CToLeft_Wait);
S1Log("料架已到达左侧,"+ ShelfWaitTime + " 后 再次等待 X21");
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ShelfWaitTime));
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.PreS1_PosStopCheck, IO_VALUE.HIGH));
}
if (S1_CurrShelfId.Equals(""))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_D18_SaveLeft);
......@@ -613,18 +642,35 @@ namespace OnlineStore.DeviceLibrary
else
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_33_LeftOnS1);
S1Log(" 左->S1切换 :" + LeftSName + "到达S1,停止链条转动,等待500后顶升");
S1Log(" 左->S1切换 :" + LeftSName + "到达S1,继续转动链条,等待 "+ ShelfWaitTime + " 后顶升");
S1_CurrShelfId = S1_LeftShelfId;
S1_LeftShelfId = "";
S1LineStop(SOneMoveInfo);
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
//S1LineStop(SOneMoveInfo);
S1LineRun();
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ShelfWaitTime));
}
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_33_LeftOnS1))
{
S1Log(" 左->S1切换 :" + LeftSName + "到达S1");
S1_WaitTopUp();
//判断料架是否到位
if (IOValue(IO_Type.S1_PosStopCheck).Equals(IO_VALUE.LOW))
{
SOneMoveInfo.NextMoveStep(MoveStep.S1_33_LeftOnS1);
S1Log(" 左->S1切换 :" + LeftSName + "到达S1,继续转动链条,等待 "+ ShelfWaitTime + " 后顶升");
S1_CurrShelfId = S1_LeftShelfId;
S1_LeftShelfId = "";
//S1LineStop(SOneMoveInfo);
S1LineRun();
SOneMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(ShelfWaitTime));
}
else
{
S1Log(" 左->S1切换 :" + LeftSName + "到达S1,链条停止转动");
S1LineStop();
S1_WaitTopUp();
}
}
else if (SOneMoveInfo.MoveStep.Equals(MoveStep.S1_40_WaitS1ToLeft))
......
......@@ -27,6 +27,7 @@
<!--ABB机器人服务器-->
<add key="ABBServerPort" value="10021"/>
<add key="DefaultSpeed" value="1000"/>
<add key="ShelfWaitTime" value="2000"/>
</appSettings>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!