Commit f497a442 LN

入料口入料架修改。

1 个父辈 97c22ba4
......@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary
......@@ -83,13 +84,21 @@ namespace OnlineStore.DeviceLibrary
}
private static void AgvClient_CloseDoor(string id, string rfid)
{
// RFIDData data = new RFIDData(content);
LogUtil.info("收到 AgvClient_CloseDoor [" + id + "] [" + rfid + "] ");
LogUtil.info("收到 AgvClient_CloseDoor [" + id + "] [" + rfid + "] 更新状态 ");
UpdateAction(id, ClientAction.CloseDoor);
Task.Factory.StartNew(delegate
{
Thread.Sleep(5000);
if (GetAction(id).Equals(ClientAction.CloseDoor))
{
SetStatus(id);
LogUtil.error ("收到 AgvClient_CloseDoor [" + id + "] [" + rfid + "] 5秒后,更新状态为None ");
}
});
}
private static void AgvClient_Ready(string id, string rfid)
{
UpdateAction(id, ClientAction.Ready);
// RFIDData data = new RFIDData(content);
UpdateAction(id, ClientAction.Ready);
LogUtil.info("收到 AgvClient_Ready [" + id + "] [" + rfid + "] ");
FeedingEquip equip = getFeedEquip(id);
......@@ -103,8 +112,7 @@ namespace OnlineStore.DeviceLibrary
private static void AgvClient_Arrive(string id, string rfid)
{
UpdateAction(id, ClientAction.Arrive);
// RFIDData data = new RFIDData(content);
UpdateAction(id, ClientAction.Arrive);
LogUtil.info("收到 AgvClient_Arrive [" + id + "] [" + rfid + "] ");
FeedingEquip equip = getFeedEquip(id);
if (equip == null)
......
......@@ -727,7 +727,7 @@ namespace OnlineStore.DeviceLibrary
}
ShelfOutProcess();
}
}
}
private bool ProcessShelfEnter = false;
private bool ProcessShelfOut = false;
......@@ -801,48 +801,43 @@ namespace OnlineStore.DeviceLibrary
if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.LOW))
{
LogUtil.info(logName + " 开始,设置状态=MayEnter");
AgvClient.SetStatus(Config.AgvInName,"",ClientAction.MayEnter,ClientLevel.High,true);
AgvClient.SetStatus(Config.AgvInName, "", ClientAction.MayEnter, ClientLevel.High, true);
ProcessShelfEnter = true;
////进料阻挡上升
//IOMove(IO_Type.SL_Entry_StopDown, IO_VALUE.LOW);
//转动线体
IOMove(IO_Type.SL_Line_Run, IO_VALUE.HIGH);
//等待进料检测信号
bool result = WaitIo(IO_Type.SL_Entry_Check, IO_VALUE.HIGH, 60000);
bool result = WaitIo(IO_Type.SL_Entry_Check, IO_VALUE.HIGH, 600000);
if (!result)
{
LogUtil.info(logName + " 等待 SL_Entry_Check=High 超时, 等待 SL_Stop_Check 信号");
}
else
{
LogUtil.info(logName + "已收到 SL_Entry_Check=High , 等待 SL_Stop_Check 信号");
}
result = WaitIo(IO_Type.SL_Stop_Check, IO_VALUE.HIGH, 60000);
LogUtil.info(logName + " 等待 SL_Entry_Check=High " + result + ", 等待 SL_Stop_Check 信号");
result = WaitIo(IO_Type.SL_Stop_Check, IO_VALUE.HIGH, 600000);
if (!result)
LogUtil.info(logName + " 等待 SL_Stop_Check=High " + result + ",开始等待CloseDoor 超时10分钟");
try
{
LogUtil.info(logName + " 等待 SL_Stop_Check=High 超时,等待3000后停止转动,发送 FinishEnter");
result = WaitUtil.Wait(600000, delegate ()
{
return AgvClient.GetAction(Config.AgvInName).Equals(ClientAction.CloseDoor);
}, logName + "等待CloseDoor超时");
}
else
catch (TimeoutException te)
{
LogUtil.info(logName + "已收到 SL_Stop_Check=High ,等待5000后停止转动,发送 FinishEnter");
LogUtil.error(logName + " 超时:" + te);
}
//等待 15000 毫秒后停止转动
Thread.Sleep(15000);
////等待 15000 毫秒后停止转动
//Thread.Sleep(15000);
if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_03_LineStart))
{
LogUtil.info(logName + " 等待 15000 后, MoveInfo.MoveType= FI_03_LineStart 不需要停止链条转动");
LogUtil.info(logName + " 完成, MoveInfo.MoveType= FI_03_LineStart 不需要停止链条转动");
}
else
{
LogUtil.info(logName + "等待 15000 后,停止链条转动");
LogUtil.info(logName + "完成,停止链条转动");
IOMove(IO_Type.SL_Line_Run, IO_VALUE.LOW);
}
//料架可离开
AgvClient.SetStatus(Config.AgvInName, "", ClientAction.FinishEnter, ClientLevel.High, true);
//AgvClient.SetStatus(Config.AgvInName, "", ClientAction.FinishEnter, ClientLevel.High, true);
Thread.Sleep(1000);
AgvClient.SetStatus(Config.AgvInName, "", ClientAction.None, ClientLevel.High, true);
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!