Commit 8642956f LN

修改:料架进入入料装置时中途链条停止转动的现象。

1 个父辈 e1c740c7
...@@ -224,8 +224,8 @@ PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=800 ...@@ -224,8 +224,8 @@ PRO,0,移栽上下轴流水线取放料详细位置P2,UpDownP2DetialList,0X0=800
修改:料架进入入料装置时中途链条停止转动的现象。
GetDIValue 方法循环查找三次防止报错引起急停。
......
...@@ -314,7 +314,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -314,7 +314,7 @@ namespace OnlineStore.DeviceLibrary
preTrayNum = currTrayNum; preTrayNum = currTrayNum;
currTrayNum = RFIDManager.GetTrayNum(DeviceID, true); currTrayNum = RFIDManager.GetTrayNum(DeviceID, true);
LogInfo(" [" + trayCount + "] IP [" + RFIDManager.GetRFIP(DeviceID) + "] [" + preTrayNum + "] 当前托盘 [" + currTrayNum + "]"); LogInfo(" [" + trayCount + "] IP [" + RFIDManager.GetRFIP(DeviceID) + "] [" + preTrayNum + "] 当前托盘 [" + currTrayNum + "]");
if (preTrayNum.Equals(currTrayNum)) if (preTrayNum.Equals(currTrayNum)&&currTrayNum>0)
{ {
TrayManager.TrayErrorMsg =DateTime.Now.ToLongTimeString()+" "+ Name + "托盘号出现错乱:上一个托盘[" + preTrayNum + "] 当前托盘 [" + currTrayNum + "],连续两个托盘号一样"; TrayManager.TrayErrorMsg =DateTime.Now.ToLongTimeString()+" "+ Name + "托盘号出现错乱:上一个托盘[" + preTrayNum + "] 当前托盘 [" + currTrayNum + "],连续两个托盘号一样";
LogUtil.error(Name + "托盘号出现错乱:上一个托盘[" + preTrayNum + "] 当前托盘 [" + currTrayNum + "],连续两个托盘号一样"); LogUtil.error(Name + "托盘号出现错乱:上一个托盘[" + preTrayNum + "] 当前托盘 [" + currTrayNum + "],连续两个托盘号一样");
......
...@@ -768,7 +768,15 @@ namespace OnlineStore.DeviceLibrary ...@@ -768,7 +768,15 @@ namespace OnlineStore.DeviceLibrary
} }
//等待200毫秒后停止转动 //等待200毫秒后停止转动
Thread.Sleep(3000); Thread.Sleep(3000);
if (MoveInfo.MoveType.Equals(LineMoveStep.FI_03_LineStart))
{
LogUtil.info(logName + " 等待3000后, MoveInfo.MoveType= FI_03_LineStart 不需要停止链条转动");
}
else
{
LogUtil.info(logName + "等待3000后,停止链条转动");
IOMove(IO_Type.SL_Line_Run, IO_VALUE.LOW); 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);
Task.Factory.StartNew(delegate Task.Factory.StartNew(delegate
......
...@@ -485,6 +485,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -485,6 +485,7 @@ namespace OnlineStore.DeviceLibrary
//等待指定时间 //等待指定时间
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Location_Check, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Line_Run, IO_VALUE.HIGH));
} else if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH)) } else if (IOValue(IO_Type.SL_Entry_Check).Equals(IO_VALUE.HIGH))
{ {
MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart); MoveInfo.NextMoveStep(LineMoveStep.FI_03_LineStart);
...@@ -495,6 +496,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -495,6 +496,7 @@ namespace OnlineStore.DeviceLibrary
//等待指定时间 //等待指定时间
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Stop_Check, IO_VALUE.HIGH)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Stop_Check, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SL_Line_Run, IO_VALUE.HIGH));
} }
else else
{ {
......
...@@ -298,20 +298,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -298,20 +298,9 @@ namespace OnlineStore.DeviceLibrary
} }
if (sidesWayNum.Equals(2) && SW23WaitTrayNum < 0) if (sidesWayNum.Equals(2) && SW23WaitTrayNum < 0)
{ {
// LineMoveInfo moveInfo = FeedingEquipMap[104].SecondMoveInfo;
if (SW23_MoveInfo.MoveType.Equals(LineMoveType.None)) if (SW23_MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
return true; return true;
//if (moveInfo.MoveType.Equals(LineMoveType.None))
//{
// return true;
//}
//else if (moveInfo.MoveType.Equals(LineMoveType.CheckFixture) &&
// moveInfo.MoveStep >= LineMoveStep.MO_15_WaitCanGo &&
//moveInfo.MoveStep <= LineMoveStep.MO_18_StopCylinder_Back)
//{
// return true;
//}
} }
else if (SW23_MoveInfo.MoveStep <= (LineMoveStep.SW12_WaitTrayGo) else if (SW23_MoveInfo.MoveStep <= (LineMoveStep.SW12_WaitTrayGo)
&& SW23_MoveInfo.MoveStep >= (LineMoveStep.SW10_WatOutFixture2)) && SW23_MoveInfo.MoveStep >= (LineMoveStep.SW10_WatOutFixture2))
...@@ -325,20 +314,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -325,20 +314,9 @@ namespace OnlineStore.DeviceLibrary
} }
else if (sidesWayNum.Equals(4) && SW41WaitTrayNum < 0) else if (sidesWayNum.Equals(4) && SW41WaitTrayNum < 0)
{ {
// LineMoveInfo moveInfo = FeedingEquipMap[101].SecondMoveInfo;
if (SW41_MoveInfo.MoveType.Equals(LineMoveType.None)) if (SW41_MoveInfo.MoveType.Equals(LineMoveType.None))
{ {
return true; return true;
//if (moveInfo.MoveType.Equals(LineMoveType.None))
//{
// return true;
//}
//else if (moveInfo.MoveType.Equals(LineMoveType.CheckFixture) &&
// moveInfo.MoveStep >= LineMoveStep.MO_15_WaitCanGo &&
//moveInfo.MoveStep <= LineMoveStep.MO_18_StopCylinder_Back)
//{
// return true;
//}
} }
else if (SW41_MoveInfo.MoveStep <= (LineMoveStep.SW12_WaitTrayGo) else if (SW41_MoveInfo.MoveStep <= (LineMoveStep.SW12_WaitTrayGo)
&& SW41_MoveInfo.MoveStep >= (LineMoveStep.SW10_WatOutFixture2)) && SW41_MoveInfo.MoveStep >= (LineMoveStep.SW10_WatOutFixture2))
...@@ -450,8 +428,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -450,8 +428,7 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.SW4_TrayCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SW1_TrayCheck).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.SW4_TrayCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SW1_TrayCheck).Equals(IO_VALUE.LOW) &&
TrayManager.LineCanMoveSW(4) ) TrayManager.LineCanMoveSW(4) && TrayManager.LineCanMoveSW(1))
//TrayManager.LineCanMoveSW(4) && TrayManager.LineCanMoveSW(1))
{ {
if (TrayManager.checkWatch(sw41WaitWatch, TrayManager.SwTrayWaitTime, true)) if (TrayManager.checkWatch(sw41WaitWatch, TrayManager.SwTrayWaitTime, true))
{ {
...@@ -469,15 +446,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -469,15 +446,14 @@ namespace OnlineStore.DeviceLibrary
IOValue(IO_Type.SW4_TrayCheck).Equals(IO_VALUE.LOW) && IOValue(IO_Type.SW4_TrayCheck).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.SW1_TrayCheck).Equals(IO_VALUE.LOW) && IOValue(IO_Type.SW1_TrayCheck).Equals(IO_VALUE.LOW) &&
(DateTime.Now - lastSw4StopDownTime).TotalSeconds > 2 && (DateTime.Now - lastSw4StopDownTime).TotalSeconds > 2 &&
TrayManager.LineCanMoveSW(4)) TrayManager.LineCanMoveSW(4) && TrayManager.LineCanMoveSW(1))
//TrayManager.LineCanMoveSW(4) && TrayManager.LineCanMoveSW(1))
{ {
if (TrayManager.checkWatch(sw41WaitWatch, TrayManager.SwTrayWaitTime, true)) if (TrayManager.checkWatch(sw41WaitWatch, TrayManager.SwTrayWaitTime, true))
{ {
SW41_MoveInfo.NewMove(LineMoveType.InStore); SW41_MoveInfo.NewMove(LineMoveType.InStore);
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW00_Wait); SW41_MoveInfo.NextMoveStep(LineMoveStep.SW00_Wait);
UpateSw41TrayNum(); UpateSw41TrayNum();
SWLog("横移轨道41:检测到SW4_StopCheck, 开始处理托盘 ,更新托盘号 [" + Sw41TrayNum + "] "); LogUtil.info(Name + "横移轨道41:检测到SW4_StopCheck, 开始处理托盘 ,更新托盘号 [" + Sw41TrayNum + "] ");
//CylinderMove(SW41_MoveInfo, IO_Type.SW4_LocationCylinder_Up, IO_Type.SW4_LocationCylinder_Down); //CylinderMove(SW41_MoveInfo, IO_Type.SW4_LocationCylinder_Up, IO_Type.SW4_LocationCylinder_Down);
//CylinderMove(SW41_MoveInfo, IO_Type.SW1_LocationCylinder_Up, IO_Type.SW1_LocationCylinder_Down); //CylinderMove(SW41_MoveInfo, IO_Type.SW1_LocationCylinder_Up, IO_Type.SW1_LocationCylinder_Down);
//阻挡气缸下降500毫秒然后上升 //阻挡气缸下降500毫秒然后上升
...@@ -500,8 +476,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -500,8 +476,7 @@ namespace OnlineStore.DeviceLibrary
//检测到阻挡夹具信号后,阻挡气缸下降,等待有夹具信号,阻挡气缸上升, //检测到阻挡夹具信号后,阻挡气缸下降,等待有夹具信号,阻挡气缸上升,
//顶升气缸上升到位,开始流水线转动,检测到出口信号后,停止转动,顶升气缸下降,阻挡4下降,盘通过 //顶升气缸上升到位,开始流水线转动,检测到出口信号后,停止转动,顶升气缸下降,阻挡4下降,盘通过
if (IOValue(IO_Type.SW2_TrayCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SW3_TrayCheck).Equals(IO_VALUE.LOW) && if (IOValue(IO_Type.SW2_TrayCheck).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.SW3_TrayCheck).Equals(IO_VALUE.LOW) &&
TrayManager.LineCanMoveSW(2) ) TrayManager.LineCanMoveSW(2) && TrayManager.LineCanMoveSW(3))
//TrayManager.LineCanMoveSW(2) && TrayManager.LineCanMoveSW(3))
{ {
if (TrayManager.checkWatch(sw23WaitWatch, TrayManager.SwTrayWaitTime, true)) if (TrayManager.checkWatch(sw23WaitWatch, TrayManager.SwTrayWaitTime, true))
{ {
...@@ -519,15 +494,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -519,15 +494,14 @@ namespace OnlineStore.DeviceLibrary
IOValue(IO_Type.SW2_TrayCheck).Equals(IO_VALUE.LOW) && IOValue(IO_Type.SW2_TrayCheck).Equals(IO_VALUE.LOW) &&
IOValue(IO_Type.SW3_TrayCheck).Equals(IO_VALUE.LOW) && IOValue(IO_Type.SW3_TrayCheck).Equals(IO_VALUE.LOW) &&
(DateTime.Now - lastSw2StopDownTime).TotalSeconds > 2 && (DateTime.Now - lastSw2StopDownTime).TotalSeconds > 2 &&
TrayManager.LineCanMoveSW(2) ) TrayManager.LineCanMoveSW(2) && TrayManager.LineCanMoveSW(3))
//TrayManager.LineCanMoveSW(2) && TrayManager.LineCanMoveSW(3))
{ {
if (TrayManager.checkWatch(sw23WaitWatch, TrayManager.SwTrayWaitTime, true)) if (TrayManager.checkWatch(sw23WaitWatch, TrayManager.SwTrayWaitTime, true))
{ {
SW23_MoveInfo.NewMove(LineMoveType.InStore); SW23_MoveInfo.NewMove(LineMoveType.InStore);
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW00_Wait); SW23_MoveInfo.NextMoveStep(LineMoveStep.SW00_Wait);
UpateSw23TrayNum(); UpateSw23TrayNum();
SWLog("横移轨道23:检测到SW2_StopCheck, 开始处理托盘 ,更新托盘号 [" + Sw23TrayNum + "] "); LogUtil.info(Name + "横移轨道23:检测到SW2_StopCheck, 开始处理托盘 ,更新托盘号 [" + Sw23TrayNum + "] ");
//CylinderMove(SW23_MoveInfo, IO_Type.SW2_LocationCylinder_Up, IO_Type.SW2_LocationCylinder_Down); //CylinderMove(SW23_MoveInfo, IO_Type.SW2_LocationCylinder_Up, IO_Type.SW2_LocationCylinder_Down);
//CylinderMove(SW23_MoveInfo, IO_Type.SW3_LocationCylinder_Up, IO_Type.SW3_LocationCylinder_Down); //CylinderMove(SW23_MoveInfo, IO_Type.SW3_LocationCylinder_Up, IO_Type.SW3_LocationCylinder_Down);
//阻挡气缸下降500毫秒然后上升 //阻挡气缸下降500毫秒然后上升
...@@ -599,7 +573,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -599,7 +573,7 @@ namespace OnlineStore.DeviceLibrary
if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW00_Wait)) if (SW41_MoveInfo.MoveStep.Equals(LineMoveStep.SW00_Wait))
{ {
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW01_StopDown); SW41_MoveInfo.NextMoveStep(LineMoveStep.SW01_StopDown);
SWLog("横移轨道41: 阻挡气缸下降 等待 SW4_StopCheck=0"); LogUtil.info(Name+ "横移轨道41: 阻挡气缸下降 等待 SW4_StopCheck=0");
IOMove(IO_Type.SW4_StopDown, IO_VALUE.HIGH); IOMove(IO_Type.SW4_StopDown, IO_VALUE.HIGH);
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW4_StopCheck, IO_VALUE.LOW)); SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW4_StopCheck, IO_VALUE.LOW));
//SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime)); //SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
...@@ -786,7 +760,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -786,7 +760,7 @@ namespace OnlineStore.DeviceLibrary
if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW00_Wait)) if (SW23_MoveInfo.MoveStep.Equals(LineMoveStep.SW00_Wait))
{ {
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW01_StopDown); SW23_MoveInfo.NextMoveStep(LineMoveStep.SW01_StopDown);
SWLog("横移轨道23:阻挡气缸下降 等待 SW2_StopCheck=0 "); LogUtil.info(Name+ "横移轨道23:阻挡气缸下降 等待 SW2_StopCheck=0 ");
IOMove(IO_Type.SW2_StopDown, IO_VALUE.HIGH); IOMove(IO_Type.SW2_StopDown, IO_VALUE.HIGH);
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW2_StopCheck, IO_VALUE.LOW)); SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.SW2_StopCheck, IO_VALUE.LOW));
// SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime)); // SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(TrayManager.StopDownWaitTime));
......
...@@ -182,7 +182,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -182,7 +182,7 @@ namespace OnlineStore.DeviceLibrary
{ {
return true; return true;
} }
if (equip.SecondMoveInfo.MoveType.Equals(LineMoveType.None)) if (swNum.Equals(2).Equals(false)&& equip.SecondMoveInfo.MoveType.Equals(LineMoveType.None))
{ {
return true; return true;
} }
...@@ -197,7 +197,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -197,7 +197,7 @@ namespace OnlineStore.DeviceLibrary
{ {
return true; return true;
} }
if (equip.SecondMoveInfo.MoveType.Equals(LineMoveType.None)) if (swNum.Equals(4).Equals(false) && equip.SecondMoveInfo.MoveType.Equals(LineMoveType.None))
{ {
return true; return true;
} }
......
...@@ -498,6 +498,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -498,6 +498,8 @@ namespace OnlineStore.DeviceLibrary
public override IO_VALUE GetDIValue(string ioIP, byte slaveId, ushort StartAddress) public override IO_VALUE GetDIValue(string ioIP, byte slaveId, ushort StartAddress)
{ {
IO_VALUE value = IO_VALUE.LOW; IO_VALUE value = IO_VALUE.LOW;
for (int i = 1; i <= 3; i++)
{
try try
{ {
AIOBOX aioBox = getAIO(ioIP); AIOBOX aioBox = getAIO(ioIP);
...@@ -519,10 +521,12 @@ namespace OnlineStore.DeviceLibrary ...@@ -519,10 +521,12 @@ namespace OnlineStore.DeviceLibrary
value = IO_VALUE.HIGH; value = IO_VALUE.HIGH;
} }
} }
break;
} }
catch (Exception ex) catch (Exception ex)
{ {
LogUtil.error("GetDIValue [" + ioIP + "] [" + StartAddress + "] 出错:", ex); LogUtil.error(" 第【"+i+"】次 GetDIValue [" + ioIP + "] [" + StartAddress + "] 出错:", ex);
}
} }
return value; return value;
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!