Commit 3806a146 LN

出库时未读到料架号,直接送出料架

1 个父辈 2cb0822d
...@@ -155,14 +155,17 @@ namespace OnlineStore.ACPackingStore ...@@ -155,14 +155,17 @@ namespace OnlineStore.ACPackingStore
lblWarnMsg.Text = BoxBean.GetWarnMsg(); lblWarnMsg.Text = BoxBean.GetWarnMsg();
lblMoveInfo.Text = BoxBean.GetMoveStr(); lblMoveInfo.Text = BoxBean.GetMoveStr();
if (BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.OutStore) || BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.InStore)) if ( BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.InStore))
{ {
lblMoveEquipInfo.Text = "入库:" + BoxBean.MoveInfo.MoveParam.ToShortStr();
lblMoveEquipInfo.Text ="入库:"+ BoxBean.MoveInfo.MoveParam.ToShortStr(); }
else if (BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.OutStore) )
{
lblMoveEquipInfo.Text = "出库:" + BoxBean.MoveInfo.MoveParam.ToShortStr();
} }
else else
{ {
lblMoveEquipInfo.Text =""; lblMoveEquipInfo.Text = "";
// lblMoveEquipInfo.Text = ""; // lblMoveEquipInfo.Text = "";
} }
//ReadPosistion(); //ReadPosistion();
......
...@@ -109,7 +109,7 @@ BoxConfig_1.csv 和 BoxConfig_2.csv 需要增加一行配置: ...@@ -109,7 +109,7 @@ BoxConfig_1.csv 和 BoxConfig_2.csv 需要增加一行配置:
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,, PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
20200410
修改问题: 修改问题:
料架号不一致,送出料架时料架信息使用上次的。 料架号不一致,送出料架时料架信息使用上次的。
出库时发现料架对不上,送出料架时发的mark应该用原来的 出库时发现料架对不上,送出料架时发的mark应该用原来的
...@@ -118,7 +118,7 @@ PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P ...@@ -118,7 +118,7 @@ PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P
agv到达时,根据rfid判断是否有料架 agv到达时,根据rfid判断是否有料架
出库时未读到料架号,直接送出料架
......
...@@ -995,17 +995,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -995,17 +995,6 @@ namespace OnlineStore.DeviceLibrary
{ {
//判断是否需要送出料架 //判断是否需要送出料架
bool isNeedSend = false; bool isNeedSend = false;
//包装料料仓料架=A
//if (AutoInout.autoNext)
//{
// InOutStoreLog("出库完成,自动出入库启动中,不需要送出料架");
// isNeedSend = false;
//}
//else if (EmprtShelfList.Count <= 0)
//{
// InOutStoreLog("出库完成,料架【" + CurrShelfID + "】没有剩余位置,送出料架");
// isNeedSend = true;
//}
string logName = "【" + CurrShelfID + "】【" + GetLastRfid() + "】"; string logName = "【" + CurrShelfID + "】【" + GetLastRfid() + "】";
//只有rfid不为空才需要送出料架 //只有rfid不为空才需要送出料架
if (String.IsNullOrEmpty(MoveInfo.MoveParam.rfid)) if (String.IsNullOrEmpty(MoveInfo.MoveParam.rfid))
......
...@@ -27,7 +27,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -27,7 +27,7 @@ namespace OnlineStore.DeviceLibrary
private void ShelfEnterProcess() private void ShelfEnterProcess()
{ {
string mark = GetMarkInfo(); string mark = GetMarkInfo();
string moveName = "入库料架[" + mark + "]"; string moveName = "入库料架[" + CurrShelfID + "]";
bool instoreShelf = true; bool instoreShelf = true;
if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{ {
...@@ -70,7 +70,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -70,7 +70,7 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.BI_05_LineStop); MoveInfo.NextMoveStep(StoreMoveStep.BI_05_LineStop);
InOutStoreLog(moveName + MoveInfo.SLog + "调用AgvClient.FinishEnter,取料位检测到信号,停止线体正转"); InOutStoreLog(moveName + MoveInfo.SLog + "调用Agv "+ Config.AgvNodeName + " FinishEnter,取料位检测到信号,停止线体正转");
LineStop(); LineStop();
AgvClient.SetStatus(Config.AgvNodeName, mark, "", ClientAction.FinishEnter, ClientLevel.High, true); AgvClient.SetStatus(Config.AgvNodeName, mark, "", ClientAction.FinishEnter, ClientLevel.High, true);
...@@ -106,13 +106,33 @@ namespace OnlineStore.DeviceLibrary ...@@ -106,13 +106,33 @@ namespace OnlineStore.DeviceLibrary
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_07_LineRun)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_07_LineRun))
{ {
LineStop(); LineStop();
UpdateShelfId();
//如果未读到料架号,将料架送出
if (CurrShelfID.EndsWith("00") && MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{
LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号[" + CurrShelfID + "]无效,加入等待队列");
waitOutStoreList.Enqueue(MoveInfo.MoveParam);
LogUtil.error(Name + "出库 料架号[" + CurrShelfID + "]无效,送出料架,稍后重新出库");
MoveInfo.MoveParam.rfid = CurrShelfID;
//送出料架,并且记录出库信息,等会重新出库
StartShelfOut();
return;
}
MoveInfo.NextMoveStep(StoreMoveStep.BI_08_LocationUp); MoveInfo.NextMoveStep(StoreMoveStep.BI_08_LocationUp);
InOutStoreLog(moveName + MoveInfo.SLog + "停止线体,读取料架,设置"+ Config.AgvNodeName + "=None"); InOutStoreLog(moveName + MoveInfo.SLog + "停止线体,读取料架"+CurrShelfID+",设置"+ Config.AgvNodeName + "=None");
AgvClient.SetStatus(Config.AgvNodeName); AgvClient.SetStatus(Config.AgvNodeName);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up); // CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
if (!instoreShelf) if (!instoreShelf)
{ {
if (MoveInfo.MoveParam.ShelfPosID.Equals(""))
{
MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID);
}
// LastRfidID = MoveInfo.MoveParam.rfid; // LastRfidID = MoveInfo.MoveParam.rfid;
LastOutParam = MoveInfo.MoveParam; LastOutParam = MoveInfo.MoveParam;
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) "); InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) ");
...@@ -123,7 +143,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -123,7 +143,6 @@ namespace OnlineStore.DeviceLibrary
LastOutParam = new InOutParam(); LastOutParam = new InOutParam();
// LastRfidID = ""; // LastRfidID = "";
} }
UpdateShelfId();
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_08_LocationUp)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_08_LocationUp))
{ {
...@@ -181,14 +200,19 @@ namespace OnlineStore.DeviceLibrary ...@@ -181,14 +200,19 @@ namespace OnlineStore.DeviceLibrary
{ {
string mark = defualtMark; string mark = defualtMark;
//如果料架号是空,需要送到VMI线
if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{ {
if (CurrShelfID.EndsWith("00"))
{
mark = defualtMark;
}
//包装料会发往分盘区, 紧急料区, 包装线区 //包装料会发往分盘区, 紧急料区, 包装线区
// urgentReel 这个为true是紧急料 出到紧急料区 // urgentReel 这个为true是紧急料 出到紧急料区
// cutReel 为true是分盘料,AGV会拉到到分盘区 // cutReel 为true是分盘料,AGV会拉到到分盘区
//料串会发到分盘区和紧急料区 //料串会发到分盘区和紧急料区
//两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区 //两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区
if (MoveInfo.MoveParam.urgentReel) else if (MoveInfo.MoveParam.urgentReel)
{ {
//紧急料,需要到紧急料区 //紧急料,需要到紧急料区
mark = MoveInfo.MoveParam.rfid + ",urgent"; mark = MoveInfo.MoveParam.rfid + ",urgent";
...@@ -205,35 +229,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -205,35 +229,7 @@ namespace OnlineStore.DeviceLibrary
} }
return mark; return mark;
} }
//private void LogCPU()
//{
// try
// {
// Process[] processes = Process.GetProcesses();
// long totalMemery = 0;
// StringBuilder sbResult = new StringBuilder();
// int interval = 1000;
// var prevCpuTime = TimeSpan.Zero;
// foreach (Process process in processes)
// {
// if (process.ProcessName.EndsWith("ACPackingStore"))
// {
// sbResult.AppendFormat(DateTime.Now.ToLongTimeString() + Name+ ", 名称:{0} 内存:{1}M ", process.ProcessName, process.PrivateMemorySize64 / 1024 / 1024F);
// totalMemery += process.PrivateMemorySize64 / 1024;
// double value = (process.TotalProcessorTime - prevCpuTime).TotalMilliseconds / interval / Environment.ProcessorCount;
// sbResult.AppendFormat(" CPU : " + Math.Round(value, 2) + "%");
// // string result = string.Format("进程总数 {0} 个,共占内存:{1}MB \n", processes.Length, totalMemery / 1024) + sbResult.ToString();
// LogUtil.info(sbResult.ToString());
// }
// }
// }
// catch (Exception ex)
// {
// LogUtil.error("LogM Error: " + ex.ToString());
// }
//}
private void ShelfOutProcess() private void ShelfOutProcess()
{ {
string mark = GetMarkInfo(); string mark = GetMarkInfo();
......
...@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -161,7 +161,7 @@ namespace OnlineStore.DeviceLibrary
} }
public string ToShortStr() public string ToShortStr()
{ {
return " [" + PosID + "][" + ShelfPosID + "][" + PlateW + "x" + PlateH + "][" + WareCode + "]"; return "["+rfid+"][" + PosID + "][" + ShelfPosID + "][" + PlateW + "x" + PlateH + "][" + WareCode + "]";
} }
internal void UpdateShelfPosId(string pId) internal void UpdateShelfPosId(string pId)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!