|
|
|
@ -655,17 +655,21 @@ namespace SlnMesnac.WCS.WCS
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
int work2EmptyAmount = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存链条线库存数"));
|
|
|
|
int work2EmptyAmount = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存链条线库存数"));
|
|
|
|
int work2BusyFlag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"));
|
|
|
|
int work2LineBusyFlag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存空箱线体状态"));
|
|
|
|
if (work2EmptyAmount > 0 && work2BusyFlag == 0)
|
|
|
|
if (work2EmptyAmount > 0 && work2LineBusyFlag == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//防止抢占其他任务节奏
|
|
|
|
//防止抢占其他任务节奏
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
Thread.Sleep(1000);
|
|
|
|
work2BusyFlag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"));
|
|
|
|
work2LineBusyFlag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存空箱线体状态"));
|
|
|
|
work2EmptyAmount = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存链条线库存数"));
|
|
|
|
work2EmptyAmount = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存链条线库存数"));
|
|
|
|
if (work2EmptyAmount > 0 && work2BusyFlag == 0)
|
|
|
|
if (work2EmptyAmount > 0 && work2LineBusyFlag == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"), 1);
|
|
|
|
bool hasTonerTask = sqlSugarClient.Queryable<WcsTask>().Any(x => x.TaskType == StaticTaskType.DeliverTonerTask && x.TaskStatus < 5);
|
|
|
|
|
|
|
|
if (hasTask)
|
|
|
|
|
|
|
|
{ //如果有agv等着接色粉,暂时不生成补充空托盘任务
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#缓存空箱线体状态"), 1);
|
|
|
|
WcsTask task = new WcsTask();
|
|
|
|
WcsTask task = new WcsTask();
|
|
|
|
task.TaskType = StaticTaskType.SupplySmallPalletTask;
|
|
|
|
task.TaskType = StaticTaskType.SupplySmallPalletTask;
|
|
|
|
task.CurrPointNo = "2DeliverMetrologyRoomPoint";
|
|
|
|
task.CurrPointNo = "2DeliverMetrologyRoomPoint";
|
|
|
|
|