This commit is contained in:
USER-20220102CG\noblelift
2023-06-26 14:56:33 +08:00
3 changed files with 352 additions and 351 deletions

View File

@@ -24,6 +24,7 @@ import org.nl.acs.opc.DeviceType;
import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.service.ParamService; import org.nl.modules.system.service.ParamService;
import org.nl.modules.wql.util.SpringContextHolder; import org.nl.modules.wql.util.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
@@ -35,11 +36,14 @@ import java.util.Map;
@RequiredArgsConstructor @RequiredArgsConstructor
public class NDCAgvServiceImpl implements NDCAgvService { public class NDCAgvServiceImpl implements NDCAgvService {
private final DeviceAppService deviceAppService; @Autowired
private final ParamService paramService; private DeviceAppService deviceAppService;
private final AcsToWmsService acsToWmsService; @Autowired
private ParamService paramService;
private final DeviceExecuteLogService logServer; @Autowired
private AcsToWmsService acsToWmsService;
@Autowired
private DeviceExecuteLogService logServer;
Map<String, AgvDto> AGVDeviceStatus = new HashMap(); Map<String, AgvDto> AGVDeviceStatus = new HashMap();
@@ -110,6 +114,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
} }
@LokiLog(type = LokiLogType.AGV) @LokiLog(type = LokiLogType.AGV)
@Override @Override
public void sendAgvOneInstToNDC(Instruction inst) { public void sendAgvOneInstToNDC(Instruction inst) {
@@ -171,6 +176,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
System.out.println("下发agv指令数据:" + Bytes2HexString(b)); System.out.println("下发agv指令数据:" + Bytes2HexString(b));
} }
} }
@LokiLog(type = LokiLogType.AGV) @LokiLog(type = LokiLogType.AGV)
@Override @Override
public void sendAgvInstToNDC(Instruction inst) { public void sendAgvInstToNDC(Instruction inst) {

View File

@@ -169,55 +169,56 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
//共挤线三工位 //共挤线三工位
if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
// if ((hailiangSmartplcTestDeviceDriver.getAction() == 1 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 1) { if ((hailiangSmartplcTestDeviceDriver.getAction() == 1 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1"); inst.setExecute_status("1");
// is_feedback = true;
// }
is_feedback = true; is_feedback = true;
}
//is_feedback = true;
} }
//叠盘位 //叠盘位
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) { else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
// int number = emptyVehicleStackingPositionDeviceDriver.getNumber(); int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
// if (number < Integer.valueOf(str)) { if (number < Integer.valueOf(str)) {
// log.info("叠盘位:" + jobno + "当前层高为:" + number + ",不存在第" + str + "的托盘!"); log.info("叠盘位:" + jobno + "当前层高为:" + number + ",不存在第" + str + "的托盘!");
// return null; return null;
// } }
// inst.setExecute_status("1"); inst.setExecute_status("1");
is_feedback = true; is_feedback = true;
} }
//货梯对接线 //货梯对接线
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) { else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((cargoLiftConveyorDeviceDriver.getAction() == 1 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 1) { if ((cargoLiftConveyorDeviceDriver.getAction() == 1 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1"); inst.setExecute_status("1");
// is_feedback = true;
// }
is_feedback = true; is_feedback = true;
}
//is_feedback = true;
} }
//豪凯自动线对接位 //豪凯自动线对接位
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) { else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver(); haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((haoKaiAutoConveyorDeviceDriver.getAction() == 1 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 1) { if ((haoKaiAutoConveyorDeviceDriver.getAction() == 1 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1"); inst.setExecute_status("1");
// is_feedback = true;
// }
is_feedback = true; is_feedback = true;
}
//is_feedback = true;
} }
//油漆线 //油漆线
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((paintConveyorDeviceDriver.getAction() == 1 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 1) { if ((paintConveyorDeviceDriver.getAction() == 1 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1"); inst.setExecute_status("1");
// is_feedback = true;
// }
is_feedback = true; is_feedback = true;
} }
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) { // is_feedback = true;
}/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} */else {
is_feedback = true; is_feedback = true;
} }
} }
@@ -226,37 +227,40 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2"); inst.setExecute_status("2");
hailiangSmartplcTestDeviceDriver.writing(2); hailiangSmartplcTestDeviceDriver.writing(2);
if (hailiangSmartplcTestDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2"); inst.setExecute_status("2");
emptyVehicleStackingPositionDeviceDriver.writing(2); emptyVehicleStackingPositionDeviceDriver.writing(2);
if (emptyVehicleStackingPositionDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2"); inst.setExecute_status("2");
cargoLiftConveyorDeviceDriver.writing(2); cargoLiftConveyorDeviceDriver.writing(2);
if (cargoLiftConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver(); haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2"); inst.setExecute_status("2");
haoKaiAutoConveyorDeviceDriver.writing(2); haoKaiAutoConveyorDeviceDriver.writing(2);
if (haoKaiAutoConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2"); inst.setExecute_status("2");
paintConveyorDeviceDriver.writing(2); paintConveyorDeviceDriver.writing(2);
if (paintConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true; is_feedback = true;
} }
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) { }/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} */else {
is_feedback = true; is_feedback = true;
} }
@@ -321,102 +325,93 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
if ("EntryRequired".equals(type)) { if ("EntryRequired".equals(type)) {
if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
// if ((hailiangSmartplcTestDeviceDriver.getAction() == 2 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 0) { if ((hailiangSmartplcTestDeviceDriver.getAction() == 2 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3"); inst.setExecute_status("3");
is_feedback = true;
}
//is_feedback = true; //is_feedback = true;
// }
is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
if (number >= Integer.valueOf(str)) {
log.info("叠盘位:" + jobno + "" + str + "上有货!");
return null;
} }
inst.setExecute_status("3");
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
// emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
// int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
// if (number >= Integer.valueOf(str)) {
// log.info("叠盘位:" + jobno + "第" + str + "上有货!");
// return null;
// }
// inst.setExecute_status("3");
is_feedback = true; is_feedback = true;
} } else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((cargoLiftConveyorDeviceDriver.getAction() == 2 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 0) { if ((cargoLiftConveyorDeviceDriver.getAction() == 2 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3"); inst.setExecute_status("3");
// is_feedback = true;
// }
is_feedback = true; is_feedback = true;
} }
//is_feedback = true;
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) { } else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver(); haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((haoKaiAutoConveyorDeviceDriver.getAction() == 2 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 0) { if ((haoKaiAutoConveyorDeviceDriver.getAction() == 2 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3"); inst.setExecute_status("3");
// is_feedback = true;
// }
is_feedback = true; is_feedback = true;
} }
// is_feedback = true;
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { } else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((paintConveyorDeviceDriver.getAction() == 2 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 0) { if ((paintConveyorDeviceDriver.getAction() == 2 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3"); inst.setExecute_status("3");
is_feedback = true;
}
// is_feedback = true; // is_feedback = true;
// }
}/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true; is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
}
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true; is_feedback = true;
} }*/ else {
if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
is_feedback = true; is_feedback = true;
} }
} }
if ("PauseOnStation".equals(type)) { if ("PauseOnStation".equals(type)) {
if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) { if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
// hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver(); hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
// inst.setExecute_status("4"); inst.setExecute_status("4");
// hailiangSmartplcTestDeviceDriver.writing(3); hailiangSmartplcTestDeviceDriver.writing(3);
if (hailiangSmartplcTestDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) { emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
// emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver(); inst.setExecute_status("4");
// inst.setExecute_status("4"); emptyVehicleStackingPositionDeviceDriver.writing(3);
// emptyVehicleStackingPositionDeviceDriver.writing(3); if (emptyVehicleStackingPositionDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) { cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
// cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver(); inst.setExecute_status("4");
// inst.setExecute_status("4"); cargoLiftConveyorDeviceDriver.writing(3);
// cargoLiftConveyorDeviceDriver.writing(3); if (cargoLiftConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) { haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
// haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver(); inst.setExecute_status("4");
// inst.setExecute_status("4"); haoKaiAutoConveyorDeviceDriver.writing(3);
// haoKaiAutoConveyorDeviceDriver.writing(3); if (haoKaiAutoConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true; is_feedback = true;
} }
} else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) { paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
// paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver(); inst.setExecute_status("4");
// inst.setExecute_status("4"); paintConveyorDeviceDriver.writing(3);
// paintConveyorDeviceDriver.writing(3); if (paintConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true; is_feedback = true;
} }
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) { }/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
is_feedback = true;
} */else {
is_feedback = true; is_feedback = true;
} }
} }

View File

@@ -257,12 +257,12 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
// logServer.deviceExecuteLog(this.device_code, "", "", "扫码器扫到的条码为:" + barcode()); // logServer.deviceExecuteLog(this.device_code, "", "", "扫码器扫到的条码为:" + barcode());
// } // }
//申请任务 //申请任务
if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && !requireSucess) { if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && barcode().trim().startsWith("TTP") && !requireSucess) {
logServer.deviceExecuteLog(this.device_code, "", "", "开始申请任务~~~~~~"); logServer.deviceExecuteLog(this.device_code, "", "", "开始申请任务~~~~~~");
instruction_require(barcode()); instruction_require(barcode());
logServer.deviceExecuteLog(this.device_code, "", "", "申请任务成功~~~~~~"); logServer.deviceExecuteLog(this.device_code, "", "", "申请任务成功~~~~~~");
} }
if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && !applySucess) { if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && barcode().trim().startsWith("TTP") && !applySucess) {
instruction_apply(barcode()); instruction_apply(barcode());
} }
} }