|
|
|
|
@ -167,13 +167,14 @@ namespace SlnMesnac.WCS.WCS
|
|
|
|
|
}
|
|
|
|
|
if (!string.IsNullOrEmpty(rfid))
|
|
|
|
|
{
|
|
|
|
|
if (Amount < 3)
|
|
|
|
|
int hoistFloor = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#提升机当前层"));
|
|
|
|
|
if (Amount < 3 && hoistFloor == 1) //如果提升机正好在1楼
|
|
|
|
|
{
|
|
|
|
|
Thread.Sleep(2000);
|
|
|
|
|
Thread.Sleep(300);
|
|
|
|
|
}
|
|
|
|
|
else if (anyTonerPallet) //有色粉空转
|
|
|
|
|
{
|
|
|
|
|
Thread.Sleep(4500);
|
|
|
|
|
Thread.Sleep(3500);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
busy2Flag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"));
|
|
|
|
|
@ -185,12 +186,12 @@ namespace SlnMesnac.WCS.WCS
|
|
|
|
|
{
|
|
|
|
|
//注意:plc上旋转移栽必须锁住线体状态才可以,2#接驳位如果有满料,那么通知plc信号,plc在连廊不再把箱体放到旋转移栽上
|
|
|
|
|
//调度系统结合上面缓存链条线库存,如果上面低于3,那么空箱可以上来缓存线
|
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"), 1);
|
|
|
|
|
bool createResult = CreateDeliverTonerTask(rfid);
|
|
|
|
|
if (createResult)
|
|
|
|
|
{
|
|
|
|
|
//3色粉上提升机移栽等待
|
|
|
|
|
_logger.Info($"2#移栽===={rfid}携带色粉去往色粉库位");
|
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"), 1);
|
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#移栽平台任务"), 3);
|
|
|
|
|
workShop2Plc.writeBoolByAddress(StaticData.GetPlcAddress("2#料箱运回RFID读取"), false);
|
|
|
|
|
}
|
|
|
|
|
@ -198,7 +199,6 @@ namespace SlnMesnac.WCS.WCS
|
|
|
|
|
{ //色粉库位无空闲位置,空转一圈
|
|
|
|
|
//2空箱转运
|
|
|
|
|
_logger.Info($"2#移栽===={rfid}携带色粉,色粉库位无空闲位置,空转一圈");
|
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态"), 1);
|
|
|
|
|
workShop2Plc.writeInt16ByAddress(StaticData.GetPlcAddress("2#移栽平台任务"), 2);
|
|
|
|
|
workShop2Plc.writeBoolByAddress(StaticData.GetPlcAddress("2#料箱运回RFID读取"), false);
|
|
|
|
|
}
|
|
|
|
|
|