Commit 9278303c LN

横移3和横移1提前顶升

1 个父辈 7f829544
......@@ -486,7 +486,15 @@ namespace OnlineStore.AssemblyLine
{
if (move.WarnMsg.Equals("").Equals(false))
{
warnMsg += move.WarnMsg + "\r\n";
if (move.alarmType.Equals(LineAlarmType.None).Equals(false))
{
warnMsg +=move.LastAlarmTime.ToLongTimeString()+" "+ move.WarnMsg + "\r\n";
}
else
{
warnMsg += move.WarnMsg + "\r\n";
}
}
}
......
......@@ -88,9 +88,9 @@ DI,0,环形线横移4定位下降端,SW4_LocationCylinder_Down,7,PRO_AOI_IP_1,0,环形线横移
,0,,,14,PRO_AOI_IP_1,0,,X015,X015
,0,,,15,PRO_AOI_IP_1,0,,X016,X016
,,,,,,,,,
DO,0,待机状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,待机状态(指示灯),Y001,Y001
DO,0,运行状态(指示灯),RunSign_HddLed,1,PRO_AOI_IP_1,0,运行状态(指示灯),Y002,Y002
DO,0,故障状态(指示灯),Alarm_HddLed,2,PRO_AOI_IP_1,0,故障状态(指示灯),Y003,Y003
DO,0,待机状态(黄灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,待机状态(黄灯),Y001,Y001
DO,0,运行状态(绿灯),RunSign_HddLed,1,PRO_AOI_IP_1,0,运行状态(绿灯),Y002,Y002
DO,0,故障状态(红灯),Alarm_HddLed,2,PRO_AOI_IP_1,0,故障状态(红灯),Y003,Y003
DO,0,故障状态(蜂鸣器),Alarm_Buzzer,3,PRO_AOI_IP_1,0,故障状态(蜂鸣器),Y004,Y004
DO,0,驱动电机1正转,DriveMotor_Run1,4,PRO_AOI_IP_1,0,驱动电机1正转,Y005,Y005
DO,0,驱动电机2正转,DriveMotor_Run2,5,PRO_AOI_IP_1,0,驱动电机2正转,Y006,Y006
......
......@@ -47,9 +47,13 @@ namespace OnlineStore.DeviceLibrary
{
TimerProcess();
}
public DateTime LastAlarmTime = DateTime.Now;
public override void Alarm(LineAlarmType alarmType)
{
{
if (alarmType.Equals(LineAlarmType.None).Equals(false))
{
LastAlarmTime = DateTime.Now;
}
if (this.alarmType.Equals(alarmType))
{
return;
......@@ -343,7 +347,8 @@ namespace OnlineStore.DeviceLibrary
IOMove(axis.Config.BreakOnDO, IO_VALUE.HIGH);
return true;
}
WarnMsg = Name + msg;
SetWarnMsg(Name + msg);
//WarnMsg = DateTime.Now.ToLongTimeString() + " " + Name + msg;
Alarm(LineAlarmType.AxisAlarm);
return false;
}
......@@ -510,17 +515,20 @@ namespace OnlineStore.DeviceLibrary
{
WarnMsg = moveInfo.Name + "[" + moveInfo.MoveType + "][" + moveInfo.MoveStep + "]等待" + NotOkMsg
+ "超时[" + Math.Round(span.TotalSeconds, 1) + "]秒";
int ms = 10;
int second = 10;
if (IsLowAlarm(moveInfo))
{
ms = 30;
second = 30;
}
ms = (int)(MoveInfo.TimeOutSeconds / span.TotalSeconds);
if (ms > 120)
second = (int)(MoveInfo.TimeOutSeconds / span.TotalSeconds)*10;
if (second > 120)
{
second = 120;
}else if (second < 10)
{
ms = 120;
second = 10;
}
LogUtil.error(WarnMsg, DeviceID + 15, ms);
LogUtil.error(WarnMsg, DeviceID + 15, second);
Alarm(LineAlarmType.IoSingleTimeOut);
}
}
......@@ -624,7 +632,7 @@ namespace OnlineStore.DeviceLibrary
msg += "runS: " + runStatus + "\n";
msg += "lineS: " + lineStatus + "\n";
msg += "alarm: " + alarmType + "\n";
msg += "alarm: " + alarmType +" "+LastAlarmTime.ToLongTimeString()+ "\n";
msg += "MoveT:"+ MoveInfo.MoveType+"\n";
msg += "MoveS :" + MoveInfo.SLog + "\n";
msg += "SMoveT:" + SecondMoveInfo.MoveType + "\n";
......
......@@ -250,8 +250,17 @@ namespace OnlineStore.DeviceLibrary
}
else
{
CheckLog("托盘检测:" + SecondMoveInfo.SLog + " 需要此托盘,横移顶升气缸上 升 )");
CylinderMove(SecondMoveInfo, IO_Type.SW_TopCylinder_Down, IO_Type.SW_TopCylinder_Up);
if (Config.SidesWayNum.Equals(2) && LineManager.Line.SwCanUpMove(3))
{
CheckLog("托盘检测:" + SecondMoveInfo.SLog + " 需要此托盘,横移顶升气缸上升,同时横移3处的顶升也可以上升 ");
LineManager.Line.CylinderMove(null, IO_Type.SW3_TopCylinder_Down, IO_Type.SW3_TopCylinder_Up);
}
else
{
CheckLog("托盘检测:" + SecondMoveInfo.SLog + " 需要此托盘,横移顶升气缸上 升 ");
}
}
}
else
......
......@@ -485,7 +485,7 @@ namespace OnlineStore.DeviceLibrary
yellowShanShuo = true;
}
foreach (MoveEquip moveEquip in MoveEquipMap.Values)
foreach (EquipBase moveEquip in AllEquipMap.Values)
{
if (moveEquip.isNoAirCheck || moveEquip.isInSuddenDown || moveEquip.alarmType > LineAlarmType.AxisAlarm)
{
......
......@@ -105,7 +105,7 @@ namespace OnlineStore.DeviceLibrary
if (span.TotalSeconds > LineManager.Config.IOSingle_TimerOut && NoAlarm())
{
ConfigIO io = baseConfig.getWaitIO(wait.IoType);
WarnMsg = Name + "等待" + NotOkMsg + " 超时";
WarnMsg = Name + "[" + checkWaitInfo.MoveStep + "]等待" + NotOkMsg + " 超时";
Alarm(LineAlarmType.IoSingleTimeOut);
LogUtil.error(MoveInfo.Name + WarnMsg, DeviceID + 13);
}
......@@ -350,9 +350,9 @@ namespace OnlineStore.DeviceLibrary
}
if (sidesWayNum.Equals(3))
{
TimeSpan span = DateTime.Now - FeedingEquipMap[104].lastStopDown;
// TimeSpan span = DateTime.Now - FeedingEquipMap[104].lastStopDown;
LineMoveInfo moveInfo = FeedingEquipMap[104].SecondMoveInfo;
if (moveInfo.MoveType.Equals(LineMoveType.None) && span.TotalSeconds > 3)
if (IOValue(IO_Type.SW3_TrayCheck).Equals(IO_VALUE.LOW) && moveInfo.MoveType.Equals(LineMoveType.None))
{
return true;
}
......@@ -361,8 +361,8 @@ namespace OnlineStore.DeviceLibrary
{
LineMoveInfo moveInfo = FeedingEquipMap[101].SecondMoveInfo;
TimeSpan span = DateTime.Now - FeedingEquipMap[101].lastStopDown;
if (moveInfo.MoveType.Equals(LineMoveType.None) && span.TotalSeconds > 3)
// TimeSpan span = DateTime.Now - FeedingEquipMap[101].lastStopDown;
if (IOValue(IO_Type.SW1_TrayCheck).Equals(IO_VALUE.LOW) && moveInfo.MoveType.Equals(LineMoveType.None))
{
return true;
}
......
......@@ -241,7 +241,7 @@ namespace OnlineStore.DeviceLibrary
{
TimeSpan span = DateTime.Now - SecondMoveInfo.LastSetpTime;
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_01_FixtureCheck);
LogUtil.debug(Name+ "托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸上升,下降耗时(" + FormUtil.GetSpanStr(span)+"),等待 阻挡2托盘检测=1)");
LogUtil.debug(Name + "托盘阻挡" + SecondMoveInfo.SLog + " 阻挡气缸上升,下降耗时(" + FormUtil.GetSpanStr(span) + "),等待 阻挡2托盘检测=1)");
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
}
......@@ -250,17 +250,17 @@ namespace OnlineStore.DeviceLibrary
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_03_Stop2Down);
CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 再次检测料盘信号");
//CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " 等待" + TrayManager.SwTrayWaitTime + ",再次检测料盘信号");
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_03_Stop2Down))
{
// CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定StopCylinder_Check2=1");
// SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
//}
//else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait))
//{
{
// CheckLog("托盘阻挡" + SecondMoveInfo.SLog + " ,等待编码信号稳定StopCylinder_Check2=1");
// SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_04_Wait);
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.StopCylinder_Check2, IO_VALUE.HIGH));
//}
//else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_04_Wait))
//{
UpdateTrayNum();
if (TrayManager.RightTrayCode(currTrayNum, preTrayNum, false))
{
......@@ -283,7 +283,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
// SecondMoveInfo.NewMove(LineMoveType.CheckFixture);
// SecondMoveInfo.NewMove(LineMoveType.CheckFixture);
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_14_TopDown);
CheckLog("放托盘(放开阻挡)" + MoveInfo.SLog + " 托盘 【" + currTrayNum + "】直接放行");
if (Config.SidesWayNum <= 0)
......@@ -303,9 +303,18 @@ namespace OnlineStore.DeviceLibrary
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_05_WaitTime))
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopUp);
CheckLog("托盘阻挡 " + SecondMoveInfo.SLog + " 顶升气缸上升 ");
CylinderMove(SecondMoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_UP);
SecondMoveInfo.NextMoveStep(LineMoveStep.MIO_06_TopUp);
CylinderMove(SecondMoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_UP);
if (Config.SidesWayNum.Equals(4) && LineManager.Line.SwCanUpMove(1))
{
CheckLog("托盘阻挡 " + SecondMoveInfo.SLog + " 顶升气缸上升,同时横移1处的顶升也可以上升 ");
LineManager.Line.CylinderMove(null, IO_Type.SW1_TopCylinder_Down, IO_Type.SW1_TopCylinder_Up);
}
else
{
CheckLog("托盘阻挡 " + SecondMoveInfo.SLog + " 顶升气缸上升 ");
}
}
else if (SecondMoveInfo.MoveStep.Equals(LineMoveStep.MIO_06_TopUp))
{
......@@ -334,8 +343,8 @@ namespace OnlineStore.DeviceLibrary
else
{
SecondMoveInfo.NextMoveStep(LineMoveStep.MO_15_WaitCanGo);
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
CheckLog("托盘放行 " + SecondMoveInfo.SLog + " ,等待 NextStopCheck=0");
// SecondMoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.NextStopCheck, IO_VALUE.LOW));
}
}
......@@ -415,7 +424,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(LineMoveStep.PO_01_CylinderDown);
OutLog(" " + MoveInfo.SLog + " : 上下气缸下降");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
UpdownDownP2Move(MoveInfo.MoveParam.PlateH,MoveInfo.MoveParam.PlateW);
UpdownDownP2Move(MoveInfo.MoveParam.PlateH, MoveInfo.MoveParam.PlateW);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.PO_01_CylinderDown))
{
......
......@@ -272,7 +272,7 @@ namespace OnlineStore.DeviceLibrary
protected abstract void InStoreProcess();
#endregion
public void SetWarnMsg(string msg="")
public void SetWarnMsg(string msg = "")
{
if (String.IsNullOrEmpty(msg).Equals(false))
{
......@@ -290,7 +290,7 @@ namespace OnlineStore.DeviceLibrary
else
{
if (msg.StartsWith(Name))
{
{
LogUtil.error(msg);
}
else
......@@ -299,7 +299,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
WarnMsg = msg;
}
public static string GetRunStr(LineStatus ls, LineRunStatus runs)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!