add:新增空载具入库、空载具出库、手工组盘

This commit is contained in:
2025-08-06 17:54:11 +08:00
parent cffa306dce
commit ed19713d51
32 changed files with 892 additions and 83 deletions

View File

@@ -171,10 +171,13 @@ public class NDCAgvServiceImpl implements NDCAgvService {
if (phase < 0 || index < 0) {
return null;
}
byte indexhigh = (byte) IntToHexHigh(index);
byte indexlow = (byte) IntToHexLow(index);
byte phasehigh = (byte) IntToHexHigh(phase);
byte phaselow = (byte) IntToHexLow(phase);
byte resulthigh = (byte) IntToHexHigh(result);
byte resultlow = (byte) IntToHexLow(result);
byte[] b = new byte[]{(byte) 0X87, (byte) 0XCD,
(byte) 0X00, (byte) 0X08,
@@ -183,11 +186,10 @@ public class NDCAgvServiceImpl implements NDCAgvService {
(byte) 0X00, (byte) 0X6D,
(byte) 0X00, (byte) 0X06,
(byte) indexhigh, (byte) indexlow,
(byte) 0X01, (byte) 0X10,
(byte) 0X01, (byte) 0X12,
(byte) phasehigh, (byte) phaselow
};
log.info("反馈agv动作数据--index:" + hexToString(indexhigh & 0xFF) + hexToString(indexlow & 0xFF) + ",phase:" + hexToString(phasehigh & 0xFF) + hexToString(phaselow & 0xFF));
System.out.println("反馈agv动作数据:" + Bytes2HexString(b));

View File

@@ -19,6 +19,7 @@ import org.nl.acs.device_driver.RequestMethodEnum;
import org.nl.acs.device_driver.basedriver.agv.utils.AgvActionEnum;
import org.nl.acs.device_driver.basedriver.standard_ordinary_site.StandardOrdinarySiteDeviceDriver;
import org.nl.acs.device_driver.driver.AbstractDeviceDriver;
import org.nl.acs.device_driver.storage.standard_storage.StandardStorageDeviceDriver;
import org.nl.acs.ext.wms.data.one.feedBackTaskStatus.FeedBackTaskStatusRequest;
import org.nl.acs.ext.wms.service.AcsToWmsService;
import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl;
@@ -204,8 +205,14 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//log.info("{},{}", device_code, "允许AGV取货。");
// lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, "允许AGV取货。"));
}
//到达取货等待点
//(需要WCS反馈)
// 到达货架
if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
log.info("到达{}取货点开始取货", device_code);
inst.setExecute_status("1");
instructionService.update(inst);
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
flag = true;
}
} else if (phase == 0x04) {
data = getData(data, index, inst, task);
//取货完毕
@@ -248,12 +255,17 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
agv_status = 2;
//到达普通站点取货完成
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
data = actionComplete(index, inst, device_code, 0, Integer.parseInt(AgvActionEnum.ACTION_STATUS.code("取货完成")), "取货完成");
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
log.info("agv进入" + device_code + "取货完成");
flag = true;
}
//到达放货等待点
//(需要WCS反馈)
//到达货架取货完成
if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
log.info("agv进入" + device_code + "取货完成");
flag = true;
}
} else if (phase == 0x06) {
data = getData(data, index, inst, task);
//到达放货点
@@ -297,6 +309,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
flag = true;
}
// 货架
if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
log.info("到达{}放货点", device_code);
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
flag = true;
}
if (flag) {
// log.info("==================允许AGV放货==================");
// logServer.deviceExecuteLog(device_code, "", "", "允许AGV放货。");
@@ -343,7 +361,13 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
//agv普通站点放货完成
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
log.info("{}放货完成", device_code);
data = actionComplete(index, inst, device_code, 0, Integer.parseInt(AgvActionEnum.ACTION_STATUS.code("放货完成")), "放货完成");
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
flag = true;
}
//agv货架放货完成
if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
log.info("{}放货完成", device_code);
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
flag = true;
}
if (flag) {