Commit 79b5a7b9 LN

上料模块部分超时报警自动清理功能。

1 个父辈 40157967
......@@ -174,6 +174,19 @@ namespace OnlineStore.DeviceLibrary
LogUtil.error("IOTimeOutProcess出错:",ex);
}
}
protected void ClearTimeoutAlarm(string msg)
{
if (isInSuddenDown || isNoAirCheck)
{
return;
}
if (WarnMsg.Contains(msg) && alarmType.Equals(LineAlarmType.IoSingleTimeOut))
{
LogUtil.info(Name + "清理信号超时报警【" + WarnMsg + "】 ");
alarmType = LineAlarmType.None;
SetWarnMsg("");
}
}
protected bool CanStartRun()
{
string canResult = LineManager.Line.CanStart();
......
......@@ -895,13 +895,14 @@ namespace OnlineStore.DeviceLibrary
if (getPosTask.IsCompleted && LastPosParam != null)
{
MoveInfo.NextMoveStep(LineMoveStep.FI_24_WaitTray);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(100));
InLog(" " + MoveInfo.SLog + " 开始拦截空托盘 " + LastPosParam.ToStr() + "");
ClearTimeoutAlarm("获取库位号超时");
}
else if (MoveInfo.IsTimeOut(120))
{
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveStep + "] 获取库位号 超时 [" + Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) + "]秒";
WarnMsg = MoveInfo.Name + "[" + MoveInfo.MoveStep + "] 获取库位号超时 [" + Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) + "]秒";
LogUtil.error(WarnMsg, DeviceID * 1000 + 30);
Alarm(LineAlarmType.IoSingleTimeOut);
}
......@@ -933,6 +934,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.FI_26_CylinderRelax);
InLog("料盘移栽" + MoveInfo.SLog + ":上料气缸放松");
CylinderMove(MoveInfo, IO_Type.SL_MoveCylinder_Tighten, IO_Type.SL_MoveCylinder_Slack);
ClearTimeoutAlarm("等待空托盘到达超时");
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.FI_26_CylinderRelax))
{
......
......@@ -1038,6 +1038,10 @@ namespace OnlineStore.DeviceLibrary
{
continue;
}
else if (equip.alarmType.Equals(LineAlarmType.None) || equip.WarnMsg.Contains("获取库位号超时"))
{
continue;
}
else
{
alarmList.Add(new AlarmMsg(equip.Name, "line." + equip.Name + "_" + equip.alarmType, equip.WarnMsg));
......
......@@ -424,7 +424,8 @@ namespace OnlineStore.DeviceLibrary
}
try
{
sdIsInprocess = true; sdlastProTime = DateTime.Now;
sdIsInprocess = true;
sdlastProTime = DateTime.Now;
//流水线转动中,并且在忙碌或出入库处理中,需要处理移栽
if (!CanProcessLine())
{
......@@ -760,11 +761,10 @@ namespace OnlineStore.DeviceLibrary
else
{
SW41_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp);
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SWLog("横移轨道41:顶升气缸上升 ,至少等待1000 ");
IOMove(IO_Type.SW4_StopDown, IO_VALUE.LOW);
SW41_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(SW41_MoveInfo, IO_Type.SW4_TopCylinder_Down, IO_Type.SW4_TopCylinder_Up);
Thread.Sleep(50);
CylinderMove(SW41_MoveInfo, IO_Type.SW4_TopCylinder_Down, IO_Type.SW4_TopCylinder_Up);
CylinderMove(SW41_MoveInfo, IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up);
}
}
......@@ -1010,11 +1010,10 @@ namespace OnlineStore.DeviceLibrary
else
{
SW23_MoveInfo.NextMoveStep(LineMoveStep.SW06_TopCylinderUp);
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
SWLog("横移轨道23:顶升气缸上升 ,至少等待1000 ");
IOMove(IO_Type.SW2_StopDown, IO_VALUE.LOW);
SW23_MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(SW23_MoveInfo, IO_Type.SW2_TopCylinder_Down, IO_Type.SW2_TopCylinder_Up);
Thread.Sleep(50);
CylinderMove(SW23_MoveInfo, IO_Type.SW2_TopCylinder_Down, IO_Type.SW2_TopCylinder_Up);
CylinderMove(SW23_MoveInfo, IO_Type.SW3_TopCylinder_Down, IO_Type.SW3_TopCylinder_Up);
}
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!