|
|
|
|
@ -25,6 +25,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
到取料盘上方,
|
|
|
|
|
等待到取料盘上方,
|
|
|
|
|
等待料盘准备就绪,
|
|
|
|
|
到下方取料位,
|
|
|
|
|
等待运动到取料位下方,
|
|
|
|
|
//等待夹磁气缸松开,
|
|
|
|
|
取料盘完成抬起,
|
|
|
|
|
@ -185,6 +186,8 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
StockManager.CloseTray(fromStockIndex);
|
|
|
|
|
}
|
|
|
|
|
AxisPosPrint.PrintTakeTrayXCurrentPos($"已运动到料仓{m_fromTray}取料盘位上方", GetClassName());
|
|
|
|
|
//松开夹爪
|
|
|
|
|
StockManager.OpenTray(fromStockIndex);
|
|
|
|
|
step = ETakeTrayFlowStep.等待料盘准备就绪;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -194,6 +197,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case ETakeTrayFlowStep.等待料盘准备就绪:
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
@ -201,9 +205,9 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
{
|
|
|
|
|
logInfo = GetClassName() + $"料仓{m_fromTray}料盘准备就绪";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
TakeTrayModule.CylinderGoDown(GetClassName());
|
|
|
|
|
stopwatch.Restart();
|
|
|
|
|
step = ETakeTrayFlowStep.等待运动到取料位下方;
|
|
|
|
|
|
|
|
|
|
step = ETakeTrayFlowStep.上升一层;
|
|
|
|
|
//step = ETakeTrayFlowStep.等待运动到取料位下方;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@ -216,6 +220,26 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case ETakeTrayFlowStep.等待运动到取料位下方:
|
|
|
|
|
try
|
|
|
|
|
@ -227,10 +251,8 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
stopwatch.Stop();
|
|
|
|
|
//打开真空
|
|
|
|
|
TakeTrayModule.VacOperation(EIoOperate.Open, GetClassName());
|
|
|
|
|
//松开夹爪
|
|
|
|
|
//StockModule.ClampTrayCylinder(EIoOperate.Open, fromStockIndex,GetClassName());
|
|
|
|
|
StockManager.OpenTray(fromStockIndex);
|
|
|
|
|
stopwatch.Restart();
|
|
|
|
|
StockManager.CloseTray(fromStockIndex);
|
|
|
|
|
//stopwatch.Restart();
|
|
|
|
|
step = ETakeTrayFlowStep.取料盘完成抬起;
|
|
|
|
|
}
|
|
|
|
|
else if (stopwatch.ElapsedMilliseconds > 5000)
|
|
|
|
|
@ -245,7 +267,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
{
|
|
|
|
|
Msg.ShowError("翻译文件中未找到料盘搬运气缸动位异常");
|
|
|
|
|
}
|
|
|
|
|
stopwatch.Restart();
|
|
|
|
|
//stopwatch.Restart();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
@ -255,17 +277,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case ETakeTrayFlowStep.取料盘完成抬起:
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
TakeTrayModule.CylinderGoUp(GetClassName());
|
|
|
|
|
stopwatch.Restart();
|
|
|
|
|
step = ETakeTrayFlowStep.等待取料盘完成抬起;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
AlarmCollection.SystemExceptionAlarm(ex);
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
TakeTrayModule.CylinderGoUp(GetClassName());
|
|
|
|
|
stopwatch.Restart();
|
|
|
|
|
step = ETakeTrayFlowStep.等待取料盘完成抬起;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
AlarmCollection.SystemExceptionAlarm(ex);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case ETakeTrayFlowStep.等待取料盘完成抬起:
|
|
|
|
|
try
|
|
|
|
|
@ -305,14 +328,29 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
{
|
|
|
|
|
logInfo = GetClassName() + $"料盘已被抓起 OK";
|
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
if (StockManager.GetCurrentLayer(fromStockIndex) == 1)
|
|
|
|
|
if (fromTray == ETrayType.Input)
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.到放料盘上方;
|
|
|
|
|
step = ETakeTrayFlowStep.上料仓拍照处理;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.上升一层;
|
|
|
|
|
if (placeTrayGrab && GlobalVar.EnableBeforePlaceTrayToOkGrab)
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.放料盘前拍照;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.到放料盘上方;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//if (StockManager.GetCurrentLayer(fromStockIndex) == 1)
|
|
|
|
|
//{
|
|
|
|
|
// step = ETakeTrayFlowStep.到放料盘上方;
|
|
|
|
|
//}
|
|
|
|
|
//else
|
|
|
|
|
//{
|
|
|
|
|
// step = ETakeTrayFlowStep.上升一层;
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@ -320,7 +358,7 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
if (alarmEntity != null)
|
|
|
|
|
{
|
|
|
|
|
Msgbox.ShowDialog(alarmEntity, EButtonType.Retry, true);
|
|
|
|
|
step = ETakeTrayFlowStep.到取料盘上方;
|
|
|
|
|
step = ETakeTrayFlowStep.到下方取料位;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@ -334,45 +372,18 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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.等待上升一层完成:
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
if (fromTray == ETrayType.Input)
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.上料仓拍照处理;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (placeTrayGrab && GlobalVar.EnableBeforePlaceTrayToOkGrab)
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.放料盘前拍照;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
step = ETakeTrayFlowStep.到放料盘上方;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
AlarmCollection.SystemExceptionAlarm(ex);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//case ETakeTrayFlowStep.等待上升一层完成:
|
|
|
|
|
// try
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
// catch (Exception ex)
|
|
|
|
|
// {
|
|
|
|
|
// AlarmCollection.SystemExceptionAlarm(ex);
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
// break;
|
|
|
|
|
case ETakeTrayFlowStep.上料仓拍照处理:
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
@ -501,13 +512,14 @@ namespace Rs.MotionPlat.Flow
|
|
|
|
|
//logInfo = GetClassName() + $"料盘真空关 on";
|
|
|
|
|
//MessageQueue.Instance.Insert(logInfo);
|
|
|
|
|
//Thread.Sleep(100);
|
|
|
|
|
//关闭真空吸
|
|
|
|
|
TakeTrayModule.VacOperation(EIoOperate.Close, GetClassName());
|
|
|
|
|
if (isNeedGoDown)
|
|
|
|
|
{
|
|
|
|
|
StockManager.Down(toStockIndex);
|
|
|
|
|
}
|
|
|
|
|
StockManager.CloseTray(toStockIndex);
|
|
|
|
|
//关闭真空吸
|
|
|
|
|
TakeTrayModule.VacOperation(EIoOperate.Close, GetClassName());
|
|
|
|
|
|
|
|
|
|
step = ETakeTrayFlowStep.放料盘完成后抬起;
|
|
|
|
|
}
|
|
|
|
|
else if (stopwatch.ElapsedMilliseconds > 5000)
|
|
|
|
|
|