优化8头的料仓搬运料盘动作

Eight
lhiven 9 months ago
parent fd0f5d1b33
commit dbbc7ac7a2

@ -24,6 +24,7 @@ namespace Rs.MotionPlat.Entitys
public static void Load() public static void Load()
{ {
alarmDic.Clear(); alarmDic.Clear();
names2id2.Clear();
XSSFWorkbook book; XSSFWorkbook book;
FileStream fs = File.Open("报警文本.xlsx", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); FileStream fs = File.Open("报警文本.xlsx", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
book = new XSSFWorkbook(fs); book = new XSSFWorkbook(fs);
@ -144,6 +145,25 @@ namespace Rs.MotionPlat.Entitys
Msg.ShowError("Alarm file cann't find 系统异常报警 item"); Msg.ShowError("Alarm file cann't find 系统异常报警 item");
} }
} }
public static void ShowMsg(int alarmID,Action act)
{
while (true)
{
AlarmEntity alarmEntity = AlarmCollection.Get(alarmID);
if (alarmEntity != null)
{
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
act.Invoke();
break;
}
else
{
Msg.ShowError($"The alarmID = {alarmID} was not found in the translation file.");
AlarmCollection.Load();
}
}
}
} }
public class AlarmEntity public class AlarmEntity
{ {

@ -234,7 +234,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow
else if (stopwatch.ElapsedMilliseconds > 10000) else if (stopwatch.ElapsedMilliseconds > 10000)
{ {
AlarmEntity alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(StockIndex); AlarmEntity alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(StockIndex);
Msgbox.ShowDialog(alarmEntity, EButtonType.Recheck); Msgbox.ShowDialog(alarmEntity, EButtonType.Recheck, true);
inStockStep = EInStockFlowStep.; inStockStep = EInStockFlowStep.;
} }
@ -285,9 +285,9 @@ namespace Rs.MotionPlat.Flow.NormalFlow
public void Up() public void Up()
{ {
if(CurrentLayer==1) if (CurrentLayer == 0)
{ {
logInfo = $"{GetClassName()} 料仓{StockIndex}已处于第层,不能再上升"; logInfo = $"{GetClassName()} 料仓{StockIndex}已处于第{CurrentLayer}层,不能再上升";
MessageQueue.Instance.Warn(logInfo); MessageQueue.Instance.Warn(logInfo);
return; return;
} }
@ -311,11 +311,11 @@ namespace Rs.MotionPlat.Flow.NormalFlow
Thread.Sleep(500); Thread.Sleep(500);
logInfo = $"{GetClassName()} 料仓{StockIndex}已运动到{CurrentLayer}层cz:{Ops.GetCurPosition($"StockZ{StockIndex}")}"; logInfo = $"{GetClassName()} 料仓{StockIndex}已运动到{CurrentLayer}层cz:{Ops.GetCurPosition($"StockZ{StockIndex}")}";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
if (HasTray()) //if (HasTray())
{ //{
ClampTray(); // ClampTray();
Thread.Sleep(GlobalVar.StepMotorMoveDelayTime); // Thread.Sleep(GlobalVar.StepMotorMoveDelayTime);
} //}
break; break;
} }
else if (stopwatch.ElapsedMilliseconds > 5000) else if (stopwatch.ElapsedMilliseconds > 5000)
@ -376,7 +376,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow
AlarmEntity alarmEntity = AlarmCollection.Get($"料仓{StockIndex}夹磁气缸原位异常"); AlarmEntity alarmEntity = AlarmCollection.Get($"料仓{StockIndex}夹磁气缸原位异常");
if (alarmEntity != null) if (alarmEntity != null)
{ {
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
StockModule.ClampTrayCylinder(EIoOperate.Open, StockIndex, GetClassName()); StockModule.ClampTrayCylinder(EIoOperate.Open, StockIndex, GetClassName());
stopwatch.Restart(); stopwatch.Restart();
} }
@ -410,7 +410,7 @@ namespace Rs.MotionPlat.Flow.NormalFlow
AlarmEntity alarmEntity = AlarmCollection.Get($"料仓{StockIndex}夹磁气缸动位异常"); AlarmEntity alarmEntity = AlarmCollection.Get($"料仓{StockIndex}夹磁气缸动位异常");
if (alarmEntity != null) if (alarmEntity != null)
{ {
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
StockModule.ClampTrayCylinder(EIoOperate.Close, StockIndex, GetClassName()); StockModule.ClampTrayCylinder(EIoOperate.Close, StockIndex, GetClassName());
stopwatch.Restart(); stopwatch.Restart();
} }

@ -25,6 +25,7 @@ namespace Rs.MotionPlat.Flow
, ,
, ,
, ,
,
, ,
//等待夹磁气缸松开, //等待夹磁气缸松开,
, ,
@ -144,6 +145,8 @@ namespace Rs.MotionPlat.Flow
switch (step) switch (step)
{ {
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (fromTray == ETrayType.Empty) if (fromTray == ETrayType.Empty)
{ {
targetPosition.TakeTrayX = GlobalVar.EmptyStockGrabPos + GlobalVar.ClampCenter2CameraCenterDist; targetPosition.TakeTrayX = GlobalVar.EmptyStockGrabPos + GlobalVar.ClampCenter2CameraCenterDist;
@ -166,8 +169,16 @@ namespace Rs.MotionPlat.Flow
AxisPosPrint.PrintTakeTrayXTargetPos($"准备运动到料仓{m_fromTray}取料盘位上方", targetPosition, GetClassName()); AxisPosPrint.PrintTakeTrayXTargetPos($"准备运动到料仓{m_fromTray}取料盘位上方", targetPosition, GetClassName());
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis) if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis)
{ {
if (fromTray == ETrayType.Empty) if (fromTray == ETrayType.Empty)
@ -175,25 +186,65 @@ namespace Rs.MotionPlat.Flow
StockManager.CloseTray(fromStockIndex); StockManager.CloseTray(fromStockIndex);
} }
AxisPosPrint.PrintTakeTrayXCurrentPos($"已运动到料仓{m_fromTray}取料盘位上方", GetClassName()); AxisPosPrint.PrintTakeTrayXCurrentPos($"已运动到料仓{m_fromTray}取料盘位上方", GetClassName());
//松开夹爪
StockManager.OpenTray(fromStockIndex);
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsOn($"满料{fromStockIndex}对射光电")) if (Ops.IsOn($"满料{fromStockIndex}对射光电"))
{ {
logInfo = GetClassName() + $"料仓{m_fromTray}料盘准备就绪"; logInfo = GetClassName() + $"料仓{m_fromTray}料盘准备就绪";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
TakeTrayModule.CylinderGoDown(GetClassName());
stopwatch.Restart(); step = ETakeTrayFlowStep.;
step = ETakeTrayFlowStep.; //step = ETakeTrayFlowStep.等待运动到取料位下方;
} }
else else
{ {
alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(fromTray); alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(fromTray);
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
}
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break;
case ETakeTrayFlowStep.:
try
{
StockManager.Up(fromStockIndex);
logInfo = GetClassName() + $"料仓{fromTray}上升一层";
MessageQueue.Instance.Insert(logInfo);
step = ETakeTrayFlowStep.;
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break;
case ETakeTrayFlowStep.:
{
TakeTrayModule.CylinderGoDown(GetClassName());
stopwatch.Restart();
step = ETakeTrayFlowStep.;
} }
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsOn("料盘搬运气缸动位")) if (Ops.IsOn("料盘搬运气缸动位"))
{ {
logInfo = GetClassName() + $"料盘搬运气缸动位 OK"; logInfo = GetClassName() + $"料盘搬运气缸动位 OK";
@ -201,54 +252,49 @@ namespace Rs.MotionPlat.Flow
stopwatch.Stop(); stopwatch.Stop();
//打开真空 //打开真空
TakeTrayModule.VacOperation(EIoOperate.Open, GetClassName()); TakeTrayModule.VacOperation(EIoOperate.Open, GetClassName());
//松开夹爪 StockManager.CloseTray(fromStockIndex);
//StockModule.ClampTrayCylinder(EIoOperate.Open, fromStockIndex,GetClassName()); //stopwatch.Restart();
StockManager.OpenTray(fromStockIndex);
stopwatch.Restart();
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
else if (stopwatch.ElapsedMilliseconds > 5000) else if (stopwatch.ElapsedMilliseconds > 5000)
{ {
alarmEntity = AlarmCollection.Get(AlarmConstID.); AlarmCollection.ShowMsg(AlarmConstID., () => { step = ETakeTrayFlowStep.; });
if (alarmEntity != null) //alarmEntity = AlarmCollection.Get(AlarmConstID.料盘搬运气缸动位异常);
{
Msgbox.ShowDialog (alarmEntity, EButtonType.Retry);
step = ETakeTrayFlowStep.;
}
else
{
Msg.ShowError("翻译文件中未找到料盘搬运气缸动位异常");
}
stopwatch.Restart();
}
break;
//case ETakeTrayFlowStep.等待夹磁气缸松开:
// if(Ops.IsOn($"料仓夹磁气缸{fromStockIndex}原位"))
// {
// step = ETakeTrayFlowStep.取料盘完成抬起;
// }
// else if(stopwatch.ElapsedMilliseconds>5000)
// {
// alarmEntity = AlarmCollection.Get($"料仓{fromStockIndex}夹磁气缸原位异常");
//if (alarmEntity != null) //if (alarmEntity != null)
//{ //{
// Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); // Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
// step = ETakeTrayFlowStep.等待夹磁气缸松开; // step = ETakeTrayFlowStep.等待运动到取料位下方;
//} //}
//else //else
//{ //{
// Msg.ShowError($"料仓{fromStockIndex}夹磁气缸原位异常"); // Msg.ShowError("翻译文件中未找到料盘搬运气缸动位异常");
//} //}
//stopwatch.Restart(); //stopwatch.Restart();
// } }
// break; }
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
{
try
{
TakeTrayModule.CylinderGoUp(GetClassName()); TakeTrayModule.CylinderGoUp(GetClassName());
stopwatch.Restart(); stopwatch.Restart();
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if ((Ops.IsOn("料盘搬运气缸原位"))) if ((Ops.IsOn("料盘搬运气缸原位")))
{ {
logInfo = GetClassName() + $"检测到上下气缸原位 OK"; logInfo = GetClassName() + $"检测到上下气缸原位 OK";
@ -262,7 +308,7 @@ namespace Rs.MotionPlat.Flow
if (alarmEntity != null) if (alarmEntity != null)
{ {
MessageQueue.Instance.Warn(GetClassName() + alarmEntity.CN); MessageQueue.Instance.Warn(GetClassName() + alarmEntity.CN);
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
} }
else else
{ {
@ -270,59 +316,79 @@ namespace Rs.MotionPlat.Flow
} }
stopwatch.Restart(); stopwatch.Restart();
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (TakeTrayModule.HasTray()) if (TakeTrayModule.HasTray())
{ {
logInfo = GetClassName() + $"料盘已被抓起 OK"; logInfo = GetClassName() + $"料盘已被抓起 OK";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
if ( StockManager.GetCurrentLayer(fromStockIndex) == 1) if (fromTray == ETrayType.Input)
{ {
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
else else
{ {
step = ETakeTrayFlowStep.; if (placeTrayGrab && GlobalVar.EnableBeforePlaceTrayToOkGrab)
{
step = ETakeTrayFlowStep.;
} }
else
{
step = ETakeTrayFlowStep.;
}
}
//if (StockManager.GetCurrentLayer(fromStockIndex) == 1)
//{
// step = ETakeTrayFlowStep.到放料盘上方;
//}
//else
//{
// step = ETakeTrayFlowStep.上升一层;
//}
} }
else else
{ {
alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(fromTray.ToString()); alarmEntity = AlarmCollection.Get(AlarmConstID.).Transform(fromTray.ToString());
if (alarmEntity != null) if (alarmEntity != null)
{ {
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry); Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
else else
{ {
Msg.ShowError("翻译文件中未找到抓料盘未抓起"); Msg.ShowError("翻译文件中未找到抓料盘未抓起");
} }
} }
break;
case ETakeTrayFlowStep.:
StockManager.Up(fromStockIndex);
logInfo = GetClassName() + $"料仓{fromTray}上升一层";
MessageQueue.Instance.Insert(logInfo);
step = ETakeTrayFlowStep.;
break;
case ETakeTrayFlowStep.:
if(fromTray== ETrayType.Input)
{
step = ETakeTrayFlowStep.;
} }
else catch (Exception ex)
{ {
if (placeTrayGrab && GlobalVar.EnableBeforePlaceTrayToOkGrab) AlarmCollection.SystemExceptionAlarm(ex);
{
step = ETakeTrayFlowStep.;
}
else
{
step = ETakeTrayFlowStep.;
}
} }
break; break;
//case ETakeTrayFlowStep.等待上升一层完成:
// try
// {
// }
// catch (Exception ex)
// {
// AlarmCollection.SystemExceptionAlarm(ex);
// }
// break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
StockGrabFlow.Instance.Grab(fromTray); StockGrabFlow.Instance.Grab(fromTray);
if (placeTrayGrab) if (placeTrayGrab)
{ {
@ -332,13 +398,27 @@ namespace Rs.MotionPlat.Flow
{ {
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
StockGrabFlow.Instance.Grab(toTray); StockGrabFlow.Instance.Grab(toTray);
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
//if (DischargeFlow.Instance.XYCanGoLocalArea()) try
{ {
if (fromTray != ETrayType.Input && toTray == ETrayType.Ok && GlobalVar.EnableOkTrayCheckFull) if (fromTray != ETrayType.Input && toTray == ETrayType.Ok && GlobalVar.EnableOkTrayCheckFull)
{ {
@ -368,13 +448,14 @@ namespace Rs.MotionPlat.Flow
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
} }
//else catch (Exception ex)
//{ {
// //alarmEntity = AlarmCollection.Get(AlarmConstID.运动不安全).Transform("LoadY", "TurnvoerY"); AlarmCollection.SystemExceptionAlarm(ex);
// //AlarmMessageBox.ShowDialog(alarmEntity, ETipButton.Ok, null); }
//}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis) if (Ops.IsStop("TakeTrayX") || GlobalVar.VirtualAxis)
{ {
//if(toTray== ETrayType.Empty) //if(toTray== ETrayType.Empty)
@ -390,17 +471,30 @@ namespace Rs.MotionPlat.Flow
//arrivedDumpPosEvent?.Invoke(); //arrivedDumpPosEvent?.Invoke();
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
//if ((StockManager.Instance.GetStock(m_toTray).Status == EStockTrayStatus.Unloaded || StockManager.Instance.GetStock(m_toTray).Status == EStockTrayStatus.Empty) || GlobalVar.VirtualAxis) //if ((StockManager.Instance.GetStock(m_toTray).Status == EStockTrayStatus.Unloaded || StockManager.Instance.GetStock(m_toTray).Status == EStockTrayStatus.Empty) || GlobalVar.VirtualAxis)
try
{ {
StockManager.OpenTray(toStockIndex); StockManager.OpenTray(toStockIndex);
TakeTrayModule.CylinderGoDown(GetClassName()); TakeTrayModule.CylinderGoDown(GetClassName());
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
stopwatch.Restart(); stopwatch.Restart();
} }
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsOn("料盘搬运气缸动位")) if (Ops.IsOn("料盘搬运气缸动位"))
{ {
logInfo = GetClassName() + "检测到料盘搬运气缸动位 OK"; logInfo = GetClassName() + "检测到料盘搬运气缸动位 OK";
@ -420,13 +514,14 @@ namespace Rs.MotionPlat.Flow
//logInfo = GetClassName() + $"料盘真空关 on"; //logInfo = GetClassName() + $"料盘真空关 on";
//MessageQueue.Instance.Insert(logInfo); //MessageQueue.Instance.Insert(logInfo);
//Thread.Sleep(100); //Thread.Sleep(100);
//关闭真空吸
TakeTrayModule.VacOperation(EIoOperate.Close, GetClassName());
if (isNeedGoDown) if (isNeedGoDown)
{ {
StockManager.Down(toStockIndex); StockManager.Down(toStockIndex);
} }
StockManager.CloseTray(toStockIndex); StockManager.CloseTray(toStockIndex);
//关闭真空吸
TakeTrayModule.VacOperation(EIoOperate.Close,GetClassName());
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
else if (stopwatch.ElapsedMilliseconds > 5000) else if (stopwatch.ElapsedMilliseconds > 5000)
@ -445,13 +540,29 @@ namespace Rs.MotionPlat.Flow
stopwatch.Stop(); stopwatch.Stop();
stopwatch.Restart(); stopwatch.Restart();
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
TakeTrayModule.CylinderGoUp(GetClassName()); TakeTrayModule.CylinderGoUp(GetClassName());
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
stopwatch.Restart(); stopwatch.Restart();
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsOn("料盘搬运气缸原位")) if (Ops.IsOn("料盘搬运气缸原位"))
{ {
logInfo = GetClassName() + "料盘搬运气缸原位 OK"; logInfo = GetClassName() + "料盘搬运气缸原位 OK";
@ -474,8 +585,16 @@ namespace Rs.MotionPlat.Flow
stopwatch.Stop(); stopwatch.Stop();
stopwatch.Restart(); stopwatch.Restart();
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (!TakeTrayModule.HasTray()) if (!TakeTrayModule.HasTray())
{ {
logInfo = GetClassName() + $"放料盘完成"; logInfo = GetClassName() + $"放料盘完成";
@ -501,16 +620,32 @@ namespace Rs.MotionPlat.Flow
//TestCenterMessageBox.WaitResult(AlarmConstID.UpDownCylinderExceptionAlarm); //TestCenterMessageBox.WaitResult(AlarmConstID.UpDownCylinderExceptionAlarm);
//step = ETakeTrayFlowStep.到放料盘上方; //step = ETakeTrayFlowStep.到放料盘上方;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (GroupAxisMove.TakeXMove(GetClassName(), GlobalVar.TakeTrayXWaitPos, GlobalVar.WholeSpeed)) if (GroupAxisMove.TakeXMove(GetClassName(), GlobalVar.TakeTrayXWaitPos, GlobalVar.WholeSpeed))
{ {
logInfo = GetClassName() + $"到待机位"; logInfo = GetClassName() + $"到待机位";
MessageQueue.Instance.Insert(logInfo); MessageQueue.Instance.Insert(logInfo);
step = ETakeTrayFlowStep.; step = ETakeTrayFlowStep.;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
case ETakeTrayFlowStep.: case ETakeTrayFlowStep.:
try
{
if (Ops.IsStop("TakeTrayX")) if (Ops.IsStop("TakeTrayX"))
{ {
logInfo = GetClassName() + $"从{fromTray}搬运到{toTray}完成"; logInfo = GetClassName() + $"从{fromTray}搬运到{toTray}完成";
@ -519,6 +654,11 @@ namespace Rs.MotionPlat.Flow
//dumpTrayFinishedEvent?.Invoke(); //dumpTrayFinishedEvent?.Invoke();
finisehd = true; finisehd = true;
} }
}
catch (Exception ex)
{
AlarmCollection.SystemExceptionAlarm(ex);
}
break; break;
} }
Thread.Sleep(10); Thread.Sleep(10);

Loading…
Cancel
Save