|
|
@ -175,6 +175,8 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
bool isFull = false;
|
|
|
|
bool isFull = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool isRunning = false;
|
|
|
|
|
|
|
|
|
|
|
|
SchedulingMessageBox msgBox;
|
|
|
|
SchedulingMessageBox msgBox;
|
|
|
|
public StockTrayFlow(ETrayType stockType)
|
|
|
|
public StockTrayFlow(ETrayType stockType)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -188,6 +190,14 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
|
|
|
|
|
|
|
|
public bool Load(EStockTrayLoadMode loadMode,Action loadFinishedEvent)
|
|
|
|
public bool Load(EStockTrayLoadMode loadMode,Action loadFinishedEvent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if(!isRunning)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
isRunning = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}");
|
|
|
|
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}");
|
|
|
|
if(StockZ.HomeStatus!= EHomeStatus.Finished)
|
|
|
|
if(StockZ.HomeStatus!= EHomeStatus.Finished)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -228,7 +238,7 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
IAxis StockFlow = AxisControl.GetAxis($"StockFlow{(int)m_stockType}");
|
|
|
|
IAxis StockFlow = AxisControl.GetAxis($"StockFlow{(int)m_stockType}");
|
|
|
|
while (!finished)
|
|
|
|
while (isRunning)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
switch (loadStep)
|
|
|
|
switch (loadStep)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -388,11 +398,11 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
Thread.Sleep(200);
|
|
|
|
Thread.Sleep(200);
|
|
|
|
logInfo = GetClassName() + $"{(int)m_stockType}号料仓斜推气缸 on";
|
|
|
|
logInfo = GetClassName() + $"{(int)m_stockType}号料仓斜推气缸 on";
|
|
|
|
finished = true;
|
|
|
|
finished = true;
|
|
|
|
|
|
|
|
isRunning = false;
|
|
|
|
ChangeStatus(EStockTrayStatus.Loaded);
|
|
|
|
ChangeStatus(EStockTrayStatus.Loaded);
|
|
|
|
if (loadMode == EStockTrayLoadMode.Whole)
|
|
|
|
if (loadMode == EStockTrayLoadMode.Whole)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
siloFloor++;
|
|
|
|
siloFloor++;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
logInfo = GetClassName()+ $"{GetTrayName()} 料仓上料盘完成";
|
|
|
|
logInfo = GetClassName()+ $"{GetTrayName()} 料仓上料盘完成";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
@ -429,6 +439,14 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
|
|
|
|
|
|
|
|
public bool Unload(EStockTrayUnLoadMode unLoadMode, Action unloadFinishedEvent)
|
|
|
|
public bool Unload(EStockTrayUnLoadMode unLoadMode, Action unloadFinishedEvent)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if(!isRunning)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
isRunning = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}");
|
|
|
|
IAxis StockZ = AxisControl.GetAxis($"StockZ{(int)m_stockType}");
|
|
|
|
if (StockZ.HomeStatus != EHomeStatus.Finished)
|
|
|
|
if (StockZ.HomeStatus != EHomeStatus.Finished)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -447,13 +465,8 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
logInfo = GetClassName() + $"{GetTrayName()} 料仓收到下料任务";
|
|
|
|
logInfo = GetClassName() + $"{GetTrayName()} 料仓收到下料任务";
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
MessageQueue.Instance.Insert(logInfo);
|
|
|
|
unloadStep = EStockTrayUnloadFlowStep.料仓满料检测;
|
|
|
|
unloadStep = EStockTrayUnloadFlowStep.料仓满料检测;
|
|
|
|
while (!finished)
|
|
|
|
while (isRunning)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (MachineManage.Instance.MachineStatus == EMachineStatus.Stop)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Thread.Sleep(10);
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (unloadStep)
|
|
|
|
switch (unloadStep)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case EStockTrayUnloadFlowStep.料仓满料检测:
|
|
|
|
case EStockTrayUnloadFlowStep.料仓满料检测:
|
|
|
@ -654,6 +667,7 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
isFull = false;
|
|
|
|
isFull = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
finished = true;
|
|
|
|
finished = true;
|
|
|
|
|
|
|
|
isRunning = false;
|
|
|
|
//actionFinishedEvent.Set();
|
|
|
|
//actionFinishedEvent.Set();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -663,6 +677,10 @@ namespace Rs.AutoDischarge.V3.Flow
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public bool IsRunning()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
return isRunning;
|
|
|
|
|
|
|
|
}
|
|
|
|
public void ChangeStatus(EStockTrayStatus status,bool updateSlot=true)
|
|
|
|
public void ChangeStatus(EStockTrayStatus status,bool updateSlot=true)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
Status=status;
|
|
|
|
Status=status;
|
|
|
|