From d5be7cfb83caadf85183a811debefdbaa29c0b06 Mon Sep 17 00:00:00 2001 From: liuwf Date: Wed, 28 May 2025 08:54:28 +0800 Subject: [PATCH] =?UTF-8?q?add-=E4=BC=98=E5=8C=96=E9=80=9F=E5=BA=A6?= =?UTF-8?q?=EF=BC=9A=E6=A0=B9=E6=8D=AE2#=E6=8F=90=E5=8D=87=E6=9C=BA?= =?UTF-8?q?=E6=89=80=E5=9C=A8=E6=A5=BC=E5=B1=82=EF=BC=8C=E4=BC=98=E5=85=88?= =?UTF-8?q?=E4=B8=8B=E5=8F=91=E5=AF=B9=E5=BA=94=E6=A5=BC=E5=B1=82=E7=9A=84?= =?UTF-8?q?=E8=A1=A5=E7=A9=BA=E7=AE=B1=E6=88=96=E8=80=85=E9=80=81=E6=BB=A1?= =?UTF-8?q?=E6=96=99=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SlnMesnac.WCS/WCS/BearAgv.cs | 16 +++++++++++----- SlnMesnac.WCS/WCS/CreateTaskByRecord.cs | 10 +++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/SlnMesnac.WCS/WCS/BearAgv.cs b/SlnMesnac.WCS/WCS/BearAgv.cs index a917f9e..d545c7f 100644 --- a/SlnMesnac.WCS/WCS/BearAgv.cs +++ b/SlnMesnac.WCS/WCS/BearAgv.cs @@ -507,14 +507,20 @@ namespace SlnMesnac.WCS.WCS if (busyFlag == 0) { int amount = sqlSugarClient.Queryable().Where(x => x.TaskType == StaticTaskType.TransferMaterialMetrologyRoomBoxTask).Count(); - if (amount < 2) - { - Thread.Sleep(3500); - } - else //优先级最高,释放掉一个agv + + int hoistFloor = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#提升机当前层")); + if (hoistFloor == 2) //如果提升机正好在2楼 { Thread.Sleep(300); } + else if (amount < 2) //如果只有一个agv送料任务 + { + Thread.Sleep(2500); + } + else if (amount == 2) + {//如果有两个以上agv送料任务,释放掉一个agv + Thread.Sleep(500); + } int work2LineBusyFlag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#缓存空箱线体状态")); busyFlag = workShop2Plc.readInt16ByAddress(StaticData.GetPlcAddress("2#线体忙碌状态")); if (busyFlag == 0 && work2LineBusyFlag == 0) diff --git a/SlnMesnac.WCS/WCS/CreateTaskByRecord.cs b/SlnMesnac.WCS/WCS/CreateTaskByRecord.cs index 87d5a5b..c8753ed 100644 --- a/SlnMesnac.WCS/WCS/CreateTaskByRecord.cs +++ b/SlnMesnac.WCS/WCS/CreateTaskByRecord.cs @@ -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); }