Commit 5a93251e LN

1

1 个父辈 34a0a4fb
...@@ -58,6 +58,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -58,6 +58,7 @@ namespace OnlineStore.DeviceLibrary
LastCodeList = new List<string>(); LastCodeList = new List<string>();
// LastHeight = 0; // LastHeight = 0;
LastWidth = 0; LastWidth = 0;
scanCodeCount = 0;
return true; return true;
} }
else else
...@@ -68,6 +69,43 @@ namespace OnlineStore.DeviceLibrary ...@@ -68,6 +69,43 @@ namespace OnlineStore.DeviceLibrary
} }
private List<string> LastCodeList = new List<string>(); private List<string> LastCodeList = new List<string>();
private int LastWidth = 0; private int LastWidth = 0;
private int scanCodeCount=0;
private void ScanCode()
{
MoveInfo.NextMoveStep(LineMoveStep.DO_02_ScanCode);
List<string> cameraList = Config.GetCameraList();
if (cameraList.Count > 0)
{
scanCodeCount++;
LogInfo(hengyiName + "出口有料,开始第【"+scanCodeCount+"】次扫码");
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitDLineScanCode());
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(6000));
try
{
Task<List<string>> scanTask = Task.Factory.StartNew(delegate
{
LastCodeList = CodeManager.CameraScan(Config.GetCameraList());
if (LastCodeList.Count <= 0)
{
LastCodeList = CodeManager.CameraScan(Config.GetCameraList());
}
return LastCodeList;
});
}
catch (Exception ex)
{
LogUtil.error("FI_13_ScanCode扫码出错:" + ex.ToString());
}
}
else
{
LogInfo(hengyiName + "出口有料,未取到相机名称,不扫码,等待1000后继续");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(6000));
}
}
protected override void OutStoreProcess() protected override void OutStoreProcess()
{ {
if (MoveInfo.IsInWait) if (MoveInfo.IsInWait)
...@@ -84,38 +122,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -84,38 +122,7 @@ namespace OnlineStore.DeviceLibrary
} }
if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_01_WaitTime)) if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_01_WaitTime))
{ {
MoveInfo.NextMoveStep(LineMoveStep.DO_02_ScanCode); ScanCode();
List<string> cameraList = Config.GetCameraList();
if (cameraList.Count > 0)
{
LogInfo(hengyiName+ "出口有料,开始扫码");
MoveInfo.OneWaitCanEndStep = true;
MoveInfo.WaitList.Add(WaitResultInfo.WaitDLineScanCode());
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(6000));
try
{
Task<List<string>> scanTask = Task.Factory.StartNew(delegate
{
LastCodeList = CodeManager.CameraScan(Config.GetCameraList());
if (LastCodeList.Count <= 0)
{
LastCodeList = CodeManager.CameraScan(Config.GetCameraList());
}
return LastCodeList;
});
}
catch (Exception ex)
{
LogUtil.error("FI_13_ScanCode扫码出错:" + ex.ToString());
}
}
else
{
LogInfo(hengyiName+ "出口有料,未取到相机名称,不扫码,等待1000后继续");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(6000));
}
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_02_ScanCode)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_02_ScanCode))
{ {
...@@ -126,27 +133,35 @@ namespace OnlineStore.DeviceLibrary ...@@ -126,27 +133,35 @@ namespace OnlineStore.DeviceLibrary
{ {
lastCode += code; lastCode += code;
} }
LastWidth = 0; //如果未扫到条码,重新扫码3次
int robotIndex =1; if (scanCodeCount < 3 && lastCode.Equals("") && Config.GetCameraList().Count > 0)
if (DeviceID.Equals(301))
{ {
robotIndex = 2; ScanCode();
} }
SServerManager.GetTraySize(Name, robotIndex, LastCodeList, out LastWidth); else
LogInfo(hengyiName+ "出口有料,二维码[" + lastCode + "] 获取料盘尺寸【" + LastWidth + "】"); {
MoveInfo.EndMove(); LastWidth = 0;
int robotIndex = 1;
if (DeviceID.Equals(301))
{
robotIndex = 2;
}
SServerManager.GetTraySize(Name, robotIndex, LastCodeList, out LastWidth);
LogInfo(hengyiName + "出口有料,二维码[" + lastCode + "] 获取料盘尺寸【" + LastWidth + "】");
}
// MoveInfo.EndMove();
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_03_GetTraySize)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_03_GetTraySize))
{ {
MoveInfo.NextMoveStep(LineMoveStep.DO_04_SeparateDeviceMove); MoveInfo.NextMoveStep(LineMoveStep.DO_04_SeparateDeviceMove);
if (LastWidth.Equals(7)) if (LastWidth.Equals(7))
{ {
LogInfo(hengyiName+ "出口有料,料盘尺寸【" + LastWidth + "】上升分盘定位气缸"); LogInfo(hengyiName + "出口有料,料盘尺寸【" + LastWidth + "】上升分盘定位气缸");
CylinderMove(MoveInfo, IO_Type.SeparateDevice_Down, IO_Type.SeparateDevice_Up); CylinderMove(MoveInfo, IO_Type.SeparateDevice_Down, IO_Type.SeparateDevice_Up);
} }
else else
{ {
LogInfo(hengyiName+ "出口有料,料盘尺寸【" + LastWidth + "】下降分盘定位气缸"); LogInfo(hengyiName + "出口有料,料盘尺寸【" + LastWidth + "】下降分盘定位气缸");
CylinderMove(MoveInfo, IO_Type.SeparateDevice_Up, IO_Type.SeparateDevice_Down); CylinderMove(MoveInfo, IO_Type.SeparateDevice_Up, IO_Type.SeparateDevice_Down);
} }
} }
...@@ -155,7 +170,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -155,7 +170,7 @@ namespace OnlineStore.DeviceLibrary
if (TrayLine2.Line3CanRun && TrayLine1.Line3CanRun) if (TrayLine2.Line3CanRun && TrayLine1.Line3CanRun)
{ {
MoveInfo.NextMoveStep(LineMoveStep.DO_05_LineRun); MoveInfo.NextMoveStep(LineMoveStep.DO_05_LineRun);
LogInfo(hengyiName+ "出口有料,转动皮带线,同时转动分盘装置"); LogInfo(hengyiName + "出口有料,转动皮带线,同时转动分盘装置");
IOMove(IO_Type.SeparateDevice_Run, IO_VALUE.HIGH); IOMove(IO_Type.SeparateDevice_Run, IO_VALUE.HIGH);
Line3Turn.StartLineRun(IO_Type.DLine_Run3, IO_Type.Location_Check3, Line3EndProcess); Line3Turn.StartLineRun(IO_Type.DLine_Run3, IO_Type.Location_Check3, Line3EndProcess);
...@@ -167,14 +182,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -167,14 +182,14 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(LineMoveStep.DO_06_Wait_SeparateDevice_Check); MoveInfo.NextMoveStep(LineMoveStep.DO_06_Wait_SeparateDevice_Check);
Line3LastTrayP++; Line3LastTrayP++;
LogInfo(hengyiName+ "出口有料,等待料盘到达分盘装置位置"); LogInfo(hengyiName + "出口有料,等待料盘到达分盘装置位置");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Location_Check3, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Location_Check3, IO_VALUE.HIGH));
} }
else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_06_Wait_SeparateDevice_Check)) else if (MoveInfo.MoveStep.Equals(LineMoveStep.DO_06_Wait_SeparateDevice_Check))
{ {
MoveInfo.NextMoveStep(LineMoveStep.DO_07_CRun); MoveInfo.NextMoveStep(LineMoveStep.DO_07_CRun);
LogInfo(hengyiName+ "出口有料,最多等待2000"); LogInfo(hengyiName + "出口有料,最多等待2000");
MoveInfo.OneWaitCanEndStep = true; MoveInfo.OneWaitCanEndStep = true;
IOMove(IO_Type.SeparateDevice_Run, IO_VALUE.HIGH); IOMove(IO_Type.SeparateDevice_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
...@@ -184,7 +199,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -184,7 +199,7 @@ namespace OnlineStore.DeviceLibrary
runStatus = LineRunStatus.Runing; runStatus = LineRunStatus.Runing;
MoveInfo.EndMove(); MoveInfo.EndMove();
IOMove(IO_Type.SeparateDevice_Run, IO_VALUE.LOW); IOMove(IO_Type.SeparateDevice_Run, IO_VALUE.LOW);
LogInfo(hengyiName+ "出口有料,送料结束,停止皮带线"); LogInfo(hengyiName + "出口有料,送料结束,停止皮带线");
} }
} }
#endregion #endregion
......
...@@ -264,7 +264,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -264,7 +264,8 @@ namespace OnlineStore.DeviceLibrary
runStatus = LineRunStatus.HomeMoving; runStatus = LineRunStatus.HomeMoving;
StartTime = DateTime.Now; StartTime = DateTime.Now;
LogUtil.info(Name + "开始启动,启动时间:" + StartTime.ToString()); LogUtil.info(Name + "开始启动,启动时间:" + StartTime.ToString());
// rfidList = new List<string>();
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
{ {
LogUtil.info(Name + "RFIDManager.Open"); LogUtil.info(Name + "RFIDManager.Open");
......
...@@ -157,7 +157,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -157,7 +157,7 @@ namespace OnlineStore.DeviceLibrary
trayCheckWait.Stop(); trayCheckWait.Stop();
MoveInfo.EndMove(); MoveInfo.EndMove();
SecondMoveInfo.EndMove(); SecondMoveInfo.EndMove();
runStatus = LineRunStatus.Busy; runStatus = LineRunStatus.Runing;
LogInfo("停止运动:(上下气缸上升 ,阻挡气缸输入=0,顶升气缸下降 ) "); LogInfo("停止运动:(上下气缸上升 ,阻挡气缸输入=0,顶升气缸下降 ) ");
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!