Commit e4da2f0c LN

皮带线123:增加NG气缸逻辑

1 个父辈 a33dd4e6
...@@ -300,9 +300,12 @@ IO_Value增加None的定义,防止误操作 ...@@ -300,9 +300,12 @@ IO_Value增加None的定义,防止误操作
20200313 20200313
进仓模块:高度大于30的盘,出库时托盘先不顶升,待料盘到达托盘上方后,顶升再上升。 进仓模块:高度大于30的盘,出库时托盘先不顶升,待料盘到达托盘上方后,顶升再上升。
出料机构:如果是7寸盘
20200314:
出料机构:如果是7寸盘,提前放行托盘
皮带线123:增加NG气缸逻辑
急停判断修改。
......
...@@ -46,6 +46,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -46,6 +46,7 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo = new LineMoveInfo(DeviceID, "[" + hengyiName + "-SMove]"); SecondMoveInfo = new LineMoveInfo(DeviceID, "[" + hengyiName + "-SMove]");
if (id.Equals(1)) if (id.Equals(1))
{ {
IsNewType = true;
TrayLine1 = new OutTrayLineBean(330 + ((id - 1) * 3 + 1) , "皮带线" + "_" + ((id - 1) * 3 + 1) + " ", IO_Type.ExitLocation_Check1, IO_Type.ExitTray_Check1, IO_Type.DLine_Run1, IO_Type.EntryTray_Check3, this.DeviceID); TrayLine1 = new OutTrayLineBean(330 + ((id - 1) * 3 + 1) , "皮带线" + "_" + ((id - 1) * 3 + 1) + " ", IO_Type.ExitLocation_Check1, IO_Type.ExitTray_Check1, IO_Type.DLine_Run1, IO_Type.EntryTray_Check3, this.DeviceID);
TrayLine2 = new OutTrayLineBean(330 + ((id - 1) * 3 + 2),"皮带线" + "_" + ((id - 1) * 3 + 2) + " ", IO_Type.ExitLocation_Check2, IO_Type.ExitTray_Check2, IO_Type.DLine_Run2, IO_Type.MiddleTray_Check3, this.DeviceID); TrayLine2 = new OutTrayLineBean(330 + ((id - 1) * 3 + 2),"皮带线" + "_" + ((id - 1) * 3 + 2) + " ", IO_Type.ExitLocation_Check2, IO_Type.ExitTray_Check2, IO_Type.DLine_Run2, IO_Type.MiddleTray_Check3, this.DeviceID);
} }
...@@ -138,10 +139,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -138,10 +139,13 @@ namespace OnlineStore.DeviceLibrary
CheckAndMove(IO_Type.DLine_Run2, IO_VALUE.LOW); CheckAndMove(IO_Type.DLine_Run2, IO_VALUE.LOW);
CheckAndMove(IO_Type.DLine_Run3, IO_VALUE.LOW); CheckAndMove(IO_Type.DLine_Run3, IO_VALUE.LOW);
CheckAndMove(IO_Type.SeparateDevice_Run, IO_VALUE.LOW); CheckAndMove(IO_Type.SeparateDevice_Run, IO_VALUE.LOW);
if (IsNewType) if (DeviceID.Equals(302))
{ {
LogInfo("后退NG气缸,后退扫码NG气缸"); LogInfo("后退NG气缸,后退扫码NG气缸");
CylinderMove(MoveInfo, IO_Type.NGCylinder_Before, IO_Type.NGCylinder_After); CylinderMove(MoveInfo, IO_Type.NGCylinder_Before, IO_Type.NGCylinder_After);
}
if (IsNewType)
{
ScanNgBack(MoveInfo); ScanNgBack(MoveInfo);
} }
if (IsDebug) if (IsDebug)
...@@ -230,14 +234,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -230,14 +234,17 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.DLine_SuddenStop).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.DLine_SuddenStop).Equals(IO_VALUE.LOW))
{ {
LogUtil.error(Name + "收到急停信号,等待500后再次验证急停"); LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Thread.Sleep(500); Task.Factory.StartNew(delegate
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
SetWarnMsg(Name + "收到急停信号"); Thread.Sleep(300);
Alarm(LineAlarmType.SuddenStop); if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
return; {
} SetWarnMsg(Name + "收到急停信号,急停报警");
Alarm(LineAlarmType.SuddenStop);
return;
}
});
} }
if (IOValue(IO_Type.DLine_Reset).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.DLine_Reset).Equals(IO_VALUE.HIGH))
...@@ -330,7 +337,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -330,7 +337,7 @@ namespace OnlineStore.DeviceLibrary
} }
internal bool InStoreNgISBack() internal bool InStoreNgISBack()
{ {
if (IsNewType) if (DeviceID.Equals(302))
{ {
if (IOValue(IO_Type.NGCylinder_After).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.NGCylinder_Before).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.NGCylinder_After).Equals(IO_VALUE.HIGH) && IOValue(IO_Type.NGCylinder_Before).Equals(IO_VALUE.LOW))
{ {
......
...@@ -328,19 +328,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -328,19 +328,21 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW)) if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
LogUtil.error(Name + "收到急停信号,等待500后再次验证急停"); LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Thread.Sleep(500); Task.Factory.StartNew(delegate
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
SetWarnMsg(Name + "收到急停信号"); Thread.Sleep(300);
if (isInSuddenDown.Equals(false)) if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
Alarm(LineAlarmType.SuddenStop); SetWarnMsg(Name + "收到急停信号,急停报警");
if (isInSuddenDown.Equals(false))
{
Alarm(LineAlarmType.SuddenStop);
}
return;
} }
return; });
} }
}
if (IOValue(IO_Type.SL_Reset_BTN).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.SL_Reset_BTN).Equals(IO_VALUE.HIGH))
{ {
if (NoAlarm()) if (NoAlarm())
......
...@@ -614,7 +614,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -614,7 +614,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error(Name + "灯处理定时器出错:", ex); LogUtil.error(Name + "灯处理定时器出错:", ex);
} }
Thread.Sleep(5); Thread.Sleep(5);
} }
#endregion #endregion
private void IoCheckTimerProcess(object sender, ElapsedEventArgs e) private void IoCheckTimerProcess(object sender, ElapsedEventArgs e)
...@@ -643,13 +643,16 @@ namespace OnlineStore.DeviceLibrary ...@@ -643,13 +643,16 @@ namespace OnlineStore.DeviceLibrary
//急停按钮和气压检测按钮需要一起使用 //急停按钮和气压检测按钮需要一起使用
if (suddenBtn.Equals(IO_VALUE.LOW)) if (suddenBtn.Equals(IO_VALUE.LOW))
{ {
LogUtil.error(Name + "收到急停信号,等待500后再次验证急停"); LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Thread.Sleep(500); Task.Factory.StartNew(delegate
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{ {
SetWarnMsg("收到急停信号,报警急停"); Thread.Sleep(300);
Alarm(LineAlarmType.SuddenStop); if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
} {
SetWarnMsg("收到急停信号,报警急停");
Alarm(LineAlarmType.SuddenStop);
}
});
} }
if (fuweiValue.Equals(IO_VALUE.HIGH) && (!fuweiValue.Equals(lastFuwei))) if (fuweiValue.Equals(IO_VALUE.HIGH) && (!fuweiValue.Equals(lastFuwei)))
{ {
......
...@@ -481,13 +481,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -481,13 +481,13 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.PO_04_CylinderUp); MoveInfo.NextMoveStep(LineMoveStep.PO_04_CylinderUp);
OutLog("出料 " + MoveInfo.SLog + " : 上下气缸上升,皮带线准备出料"); OutLog("出料 " + MoveInfo.SLog + " : 上下气缸上升,皮带线准备出料");
UpdownUpMove(); UpdownUpMove();
StartLineOut(MoveInfo.MoveParam); StartLineOut(MoveInfo.MoveParam);
if (MoveInfo.MoveParam.PlateW.Equals(7)) if (MoveInfo.MoveParam.PlateW.Equals(7))
{ {
MO_14_TopCylinder_Down(); MO_14_TopCylinder_Down();
} }
else if (Config.SidesWayNum <= 0) else if (Config.SidesWayNum <= 0)
{ {
CylinderMove(null, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down); CylinderMove(null, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down);
} }
} }
...@@ -498,7 +498,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -498,7 +498,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo("出料 【" + posId + "】" + MoveInfo.SLog + " 更新托盘【" + num + "】为空"); LogInfo("出料 【" + posId + "】" + MoveInfo.SLog + " 更新托盘【" + num + "】为空");
// MoveInfo.WaitList.Add(WaitResultInfo.WaitProvidingEquipCanOut()); // MoveInfo.WaitList.Add(WaitResultInfo.WaitProvidingEquipCanOut());
TrayManager.UpdateTrayInfo(num); TrayManager.UpdateTrayInfo(num);
if (SecondMoveInfo.MoveStep < LineMoveStep.MO_14_TopDown) if (SecondMoveInfo.MoveType.Equals(LineMoveType.None).Equals(false) && SecondMoveInfo.MoveStep < LineMoveStep.MO_14_TopDown)
{ {
//阻挡气缸移动 //阻挡气缸移动
MO_14_TopCylinder_Down(); MO_14_TopCylinder_Down();
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!