Commit 1c3c6ffa LN

急停逻辑修改

1 个父辈 049e89b4
......@@ -148,6 +148,7 @@
//
this.listView1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.listView1.BackColor = System.Drawing.Color.White;
this.listView1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.listView1.FullRowSelect = true;
this.listView1.GridLines = true;
......
......@@ -152,7 +152,7 @@ namespace OnlineStore.AssemblyLine
lvi.SubItems.Add(move.Config.IsDebug.Equals(1) ? "✘" : "✔");
lvi.SubItems.Add(move.alarmType.ToString());
// lvi.SubItems.Add(move.lineStatus.ToString());
lvi.SubItems.Add(KTK_Store.GetRunStr(move.lineStatus, move.runStatus));
lvi.SubItems.Add(move.GetRunStr());
BoxInfo box = LineServer.GetBoxInfo(move.DeviceID);
if (box != null)
{
......@@ -184,7 +184,7 @@ namespace OnlineStore.AssemblyLine
lvi.Text = equip.Name;
lvi.SubItems.Add(equip.Config.IsDebug.Equals(1) ? "✘" : "✔");
lvi.SubItems.Add(equip.alarmType.ToString());
lvi.SubItems.Add(KTK_Store.GetRunStr(equip.lineStatus, equip.runStatus));
lvi.SubItems.Add(equip.GetRunStr());
this.listView1.Items.Add(lvi);
}
......@@ -195,7 +195,7 @@ namespace OnlineStore.AssemblyLine
lvi.Text = equip.Name;
lvi.SubItems.Add(equip.Config.IsDebug.Equals(1) ? "✘" : "✔");
lvi.SubItems.Add(equip.alarmType.ToString());
lvi.SubItems.Add(KTK_Store.GetRunStr(equip.lineStatus, equip.runStatus));
lvi.SubItems.Add(equip.GetRunStr());
this.listView1.Items.Add(lvi);
}
this.listView1.Items.Add((ListViewItem)emptyView.Clone());
......@@ -205,7 +205,7 @@ namespace OnlineStore.AssemblyLine
lvi.Text = equip.Name;
lvi.SubItems.Add(equip.Config.IsDebug.Equals(1) ? "✘" : "✔");
lvi.SubItems.Add(equip.alarmType.ToString());
lvi.SubItems.Add(KTK_Store.GetRunStr(equip.lineStatus, equip.runStatus));
lvi.SubItems.Add(equip.GetRunStr());
this.listView1.Items.Add(lvi);
}
cmbBoxIndex.Items.Clear();
......@@ -487,7 +487,7 @@ namespace OnlineStore.AssemblyLine
//{
// //canScanCode = lineBean.CanScanCode() ? "(可扫码入库)" : "(出库未完成,不可扫码入库)";
//}
lblStatus.Text = KTK_Store.GetRunStr(lineBean.lineStatus, lineBean.runStatus) + canScanCode;
lblStatus.Text = lineBean.GetRunStr() + canScanCode;
string time = LineManager.Line.alarmType.Equals(LineAlarmType.None) ? "" : LineManager.Line.LastAlarmTime.ToLongTimeString();
string warnMsg = LineManager.Line.WarnMsg.Equals("") ? "" : time+ LineManager.Line.WarnMsg + "\r\n";
......@@ -529,7 +529,7 @@ namespace OnlineStore.AssemblyLine
lvi.Text = move.Name;
SetItemText(i, item_debug_index, move.Config.IsDebug.Equals(1) ? "✘" : "✔");
SetItemText(i, item_alarm_index, move.alarmType.ToString());
SetItemText(i, item_runStr_index, KTK_Store.GetRunStr(move.lineStatus, move.runStatus));
SetItemText(i, item_runStr_index, move.GetRunStr());
BoxInfo box = LineServer.GetBoxInfo(move.DeviceID);
if (box != null)
{
......@@ -550,7 +550,7 @@ namespace OnlineStore.AssemblyLine
SetItemText(i, item_SAlarmType_index, "");
SetItemText(i, item_BoxStr_index, "");
}
SetItemColor(i, move.runStatus);
SetItemColor(i, move.runStatus,move.alarmType);
i++;
}
i++;
......@@ -558,8 +558,8 @@ namespace OnlineStore.AssemblyLine
{
SetItemText(i, item_debug_index, equip.Config.IsDebug.Equals(1) ? "✘" : "✔");
SetItemText(i, item_alarm_index, equip.alarmType.ToString());
SetItemText(i, item_runStr_index, KTK_Store.GetRunStr(equip.lineStatus, equip.runStatus));
SetItemColor(i, equip.runStatus);
SetItemText(i, item_runStr_index, equip.GetRunStr());
SetItemColor(i, equip.runStatus, equip.alarmType);
i++;
}
i++;
......@@ -567,8 +567,8 @@ namespace OnlineStore.AssemblyLine
{
SetItemText(i, item_debug_index, equip.Config.IsDebug.Equals(1) ? "✘" : "✔");
SetItemText(i, item_alarm_index, equip.alarmType.ToString());
SetItemText(i, item_runStr_index, KTK_Store.GetRunStr(equip.lineStatus, equip.runStatus));
SetItemColor(i, equip.runStatus);
SetItemText(i, item_runStr_index, equip.GetRunStr());
SetItemColor(i, equip.runStatus, equip.alarmType);
i++;
}
i++;
......@@ -576,8 +576,8 @@ namespace OnlineStore.AssemblyLine
{
SetItemText(i, item_debug_index, equip.Config.IsDebug.Equals(1) ? "✘" : "✔");
SetItemText(i, item_alarm_index, equip.alarmType.ToString());
SetItemText(i, item_runStr_index, KTK_Store.GetRunStr(equip.lineStatus, equip.runStatus));
SetItemColor(i, equip.runStatus);
SetItemText(i, item_runStr_index, equip.GetRunStr());
SetItemColor(i, equip.runStatus, equip.alarmType);
i++;
}
if (lineBean.runStatus > LineRunStatus.Wait)
......@@ -609,20 +609,28 @@ namespace OnlineStore.AssemblyLine
}
}
private void SetItemColor(int i, LineRunStatus runStatus)
private void SetItemColor(int i, LineRunStatus runStatus,LineAlarmType alarmType)
{
if (runStatus.Equals(LineRunStatus.Wait))
{
SetItemColor(i, Color.White);
//listView1.Items[i].BackColor = Color.White;
}
else if (alarmType.Equals(LineAlarmType.IoSingleTimeOut))
{
SetItemColor(i, Color.LightCoral);
}
else if (alarmType.Equals(LineAlarmType.None).Equals(false))
{
SetItemColor(i, Color.Red);
}
else if (runStatus.Equals(LineRunStatus.HomeMoving) || runStatus.Equals(LineRunStatus.Reset))
{
SetItemColor(i, Color.Orange);
}
else if (runStatus.Equals(LineRunStatus.Busy))
{
SetItemColor(i, Color.Green);
SetItemColor(i, Color.LimeGreen);
}
if (runStatus.Equals(LineRunStatus.Runing))
{
......
......@@ -247,22 +247,24 @@ namespace OnlineStore.DeviceLibrary
protected override void BaseTimerProcess()
{
if (IOValue(IO_Type.DLine_SuddenStop).Equals(IO_VALUE.LOW) && (!isInSuddenDown))
if (IOValue(IO_Type.DLine_SuddenStop).Equals(IO_VALUE.LOW))
{
LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Task.Factory.StartNew(delegate
if (!isInSuddenDown)
{
Thread.Sleep(300);
if (IOValue(IO_Type.DLine_SuddenStop).Equals(IO_VALUE.LOW))
LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Task.Factory.StartNew(delegate
{
SetWarnMsg(Name + "收到急停信号,急停报警");
Alarm(LineAlarmType.SuddenStop);
return;
}
});
}
if (IOValue(IO_Type.DLine_Reset).Equals(IO_VALUE.HIGH))
Thread.Sleep(300);
if (IOValue(IO_Type.DLine_SuddenStop).Equals(IO_VALUE.LOW))
{
SetWarnMsg(Name + "收到急停信号,急停报警");
Alarm(LineAlarmType.SuddenStop);
return;
}
});
}
}
else if (IOValue(IO_Type.DLine_Reset).Equals(IO_VALUE.HIGH))
{
if (NoAlarm())
{
......
......@@ -436,7 +436,7 @@ namespace OnlineStore.DeviceLibrary
CheckAlarmProcess(moveInfo, LineAlarmType.IoSingleTimeOut);
}
}
else if (rwSpan.TotalSeconds > 5 && span.TotalSeconds > 8 && span.TotalSeconds < LineManager.Config.IOSingle_TimerOut * 2)
else if (rwSpan.TotalSeconds > 5 && span.TotalSeconds > 6 && span.TotalSeconds < LineManager.Config.IOSingle_TimerOut * 2)
{
preRWTime = DateTime.Now;
string msg = moveInfo.Name + " [" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "] " + NotOkMsg + "已等待 " + Math.Round(span.TotalSeconds, 1) + "秒,重写DO:";
......@@ -445,9 +445,12 @@ namespace OnlineStore.DeviceLibrary
{
if (ww != null && ww.WaitType.Equals(2) && baseConfig.DOList.ContainsKey(ww.IoType))
{
isLog = true;
IOMove(ww.IoType, ww.IoValue);
msg += ww.ToStr() + ",";
if (IOManager.DOValue(ww.IoType, baseConfig.Id).Equals(ww.IoValue).Equals(false))
{
isLog = true;
IOMove(ww.IoType, ww.IoValue);
msg += ww.ToStr() + ",";
}
}
}
if (isLog)
......
......@@ -326,24 +326,27 @@ namespace OnlineStore.DeviceLibrary
protected override void BaseTimerProcess()
{
if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW) && (!isInSuddenDown))
if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW))
{
LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Task.Factory.StartNew(delegate
if (!isInSuddenDown)
{
Thread.Sleep(300);
if (IOValue(IO_Type.SL_SuddenStop_BTN).Equals(IO_VALUE.LOW))
LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Task.Factory.StartNew(delegate
{
SetWarnMsg(Name + "收到急停信号,急停报警");
if (isInSuddenDown.Equals(false))
Thread.Sleep(300);
if (IOValue(IO_Type.SL_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))
});
}
}
else if (IOValue(IO_Type.SL_Reset_BTN).Equals(IO_VALUE.HIGH))
{
if (NoAlarm())
{
......
......@@ -480,7 +480,27 @@ namespace OnlineStore.DeviceLibrary
if (alarmType == LineAlarmType.SuddenStop || alarmType.Equals(LineAlarmType.NoAirCheck))
{
LogUtil.error(WarnMsg);
StopMove();
// StopMove();
MoveInfo.EndMove();
WriteDrivetMotorRun(IO_VALUE.LOW);
IOMove(IO_Type.SW4_MotorRun, IO_VALUE.LOW);
IOMove(IO_Type.SW4_TopCylinder_Down, IO_VALUE.LOW);
IOMove(IO_Type.SW4_TopCylinder_Up, IO_VALUE.LOW);
SideWayStop();
foreach (EquipBase equip in this.AllEquipMap.Values)
{
if (equip.runStatus>LineRunStatus.Wait)
{
equip.Alarm(alarmType);
}
else
{
equip.CloseCylinderStop();
}
}
}
IOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
}
......@@ -643,18 +663,21 @@ namespace OnlineStore.DeviceLibrary
//急停按钮和气压检测按钮需要一起使用
if (suddenBtn.Equals(IO_VALUE.LOW))
{
LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Task.Factory.StartNew(delegate
if (isInSuddenDown.Equals(false))
{
Thread.Sleep(300);
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
LogUtil.error(Name + "收到急停信号,等待300后再次验证急停");
Task.Factory.StartNew(delegate
{
SetWarnMsg("收到急停信号,报警急停");
Alarm(LineAlarmType.SuddenStop);
}
});
Thread.Sleep(300);
if (IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
{
SetWarnMsg("收到急停信号,报警急停");
Alarm(LineAlarmType.SuddenStop);
}
});
}
}
if (fuweiValue.Equals(IO_VALUE.HIGH) && (!fuweiValue.Equals(lastFuwei)))
else if (fuweiValue.Equals(IO_VALUE.HIGH) && (!fuweiValue.Equals(lastFuwei)))
{
if (suddenBtn.Equals(IO_VALUE.LOW))
{
......
......@@ -119,9 +119,12 @@ namespace OnlineStore.DeviceLibrary
{
if (ww != null && ww.WaitType.Equals(2) && baseConfig.DOList.ContainsKey(ww.IoType))
{
isLog = true;
IOMove(ww.IoType, ww.IoValue);
msg += ww.ToStr() + ",";
if (IOManager.DOValue(ww.IoType, baseConfig.Id).Equals(ww.IoValue).Equals(false))
{
isLog = true;
IOMove(ww.IoType, ww.IoValue);
msg += ww.ToStr() + ",";
}
}
}
if (isLog)
......
......@@ -431,7 +431,8 @@ namespace OnlineStore.DeviceLibrary
{
if (result.Equals(""))
{
if (span.TotalSeconds >= 3 && span.TotalSeconds <= 5)
//正常4-5秒
if (span.TotalSeconds >= 1 && span.TotalSeconds <= 6)
{
LogUtil.debug(subType + "停止运动:[" + moveDO + "] [" + checkDI + "] 耗时 [" + FormUtil.GetSpanStr(span) + "][" + canWhileCount + "]");
}
......
......@@ -302,7 +302,87 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = msg;
}
public static string GetRunStr(LineStatus ls, LineRunStatus runs)
public string GetRunStr( )
{
string sta = "运行中";
string aa = "";
switch (runStatus)
{
case LineRunStatus.Busy:
sta = "忙碌";
break;
case LineRunStatus.HomeMoving:
sta = "原点返回";
break;
case LineRunStatus.Reset:
sta = "重置";
break;
case LineRunStatus.Runing:
sta = "运行中";
break;
case LineRunStatus.Wait:
sta = "等待启动";
break;
}
if (runStatus > LineRunStatus.Wait)
{
//"0":"急停中", "1":"设备联机", "2":"故障中", "3":"入库执行中", "4":"出库执行中", 5":"料盘入仓位完成", "6":"料盘出仓位完成", 7":"设备调试中",
switch (lineStatus)
{
case LineStatus.Debugging:
aa = "设备调试中";
break;
//case LineStatus.InStoreEnd:
// aa = "料盘入仓位完成";
// break;
case LineStatus.InStoreExecute:
aa = "入库执行中";
break;
case LineStatus.InTrouble:
aa = "故障中";
break;
//case LineStatus.OutStoreBoxEnd:
// aa = "料盘出仓位完成";
// break;
case LineStatus.OutStoreExecute:
aa = "出库执行中";
break;
case LineStatus.StoreOnline:
aa = "设备联机";
break;
case LineStatus.SuddenStop:
aa = "急停中";
break;
//case LineStatus.OutMoveExecute:
// aa = "出库完成";
// break;
//case LineStatus.InStoreFaild:
// aa = "入库失败(" + WarnMsg + ")";
// break;
//case LineStatus.OutStoreFaild:
// aa = "出库失败(" + WarnMsg + ")";
// break;
}
if (isInSuddenDown)
{
aa = "急停中";
}else if (isNoAirCheck)
{
aa = "无气压信号";
}
}
if (!aa.Equals(""))
{
return sta + "_" + aa;
}
else
{
return sta;
}
}
public static string GetRunStr(LineStatus ls, LineRunStatus runs)
{
string sta = "运行中";
string aa = "";
......@@ -362,9 +442,9 @@ namespace OnlineStore.DeviceLibrary
//case LineStatus.OutStoreFaild:
// aa = "出库失败(" + WarnMsg + ")";
// break;
}
}
}
if (!aa.Equals(""))
{
return sta + "_" + aa;
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!