Browse Source

opt:优化自动充电

master
zds 2 months ago
parent
commit
4a0e8fc791
  1. 19
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java
  2. 6
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java

19
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java

@ -116,7 +116,6 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
bs.append(temp < 16 ? bs1.append(Integer.toHexString(temp)) : Integer.toHexString(temp)); bs.append(temp < 16 ? bs1.append(Integer.toHexString(temp)) : Integer.toHexString(temp));
} }
//System.out.println("收到请求参数:" + bs);
boolean flag = false; boolean flag = false;
if (arr[8] * 256 + arr[9] == 0x73) { if (arr[8] * 256 + arr[9] == 0x73) {
byte[] data = null; byte[] data = null;
@ -127,12 +126,12 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
int index = arr[12] * 256 + arr[13]; int index = arr[12] * 256 + arr[13];
//任务号 //任务号
int ikey = arr[26] * 256 + arr[27]; int ikey = arr[26] * 256 + arr[27];
//站点 //agv车
int agvaddr = arr[18] * 256 + arr[19]; int agvaddr = arr[18] * 256 + arr[19];
//车号 //车号
int carno = arr[20]; int carno = arr[20];
//充电桩站点号 //充电桩站点号
int station=arr[25]; int station = arr[25];
Instruction link_inst = null; Instruction link_inst = null;
Instruction inst = null; Instruction inst = null;
@ -152,7 +151,7 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
link_flag = true; link_flag = true;
} }
log.info("接收agv上报信息:" + bs); log.info("接收agv上报信息:" + bs);
log.info("接收agv上报信息:" + "phase--" + phase + " index--" + index + " ikey--" + ikey + " agvaddr--" + agvaddr + " Car--" + carno); log.info("接收agv上报信息:" + "phase--" + phase + " index--" + index + " ikey--" + ikey + " agvaddr--" + agvaddr + " carno--" + carno+" station--"+station);
Device device = null; Device device = null;
String device_code = null; String device_code = null;
String old_device_code = null; String old_device_code = null;
@ -169,7 +168,7 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
} }
device = deviceAppService.findDeviceByCode(device_code); device = deviceAppService.findDeviceByCode(device_code);
} }
log.info("接收agv上报信息,agvaddr != 0,device:"+device);
// //
AgvNdcOneDeviceDriver agvNdcOneDeviceDriver; AgvNdcOneDeviceDriver agvNdcOneDeviceDriver;
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver; StandardAutodoorDeviceDriver standardAutodoorDeviceDriver;
@ -284,11 +283,19 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
else { else {
//上报异常信息 //上报异常信息
//(不需要WCS反馈) //(不需要WCS反馈)
if (phase == 0x67) { /* if (phase == 0x67) {
device = deviceAppService.findDeviceByCode(Integer.toString(arr[27])); device = deviceAppService.findDeviceByCode(Integer.toString(arr[27]));
} else { } else {
device = deviceAppService.findDeviceByCode(Integer.toString(arr[20])); device = deviceAppService.findDeviceByCode(Integer.toString(arr[20]));
}*/
if (phase == 0x67) {
device = deviceAppService.findDeviceByCode(Integer.toString(arr[27]));
} else if (phase == 0x73) {
device = deviceAppService.findDeviceByCode(Integer.toString(agvaddr));
}else{
device = deviceAppService.findDeviceByCode(Integer.toString(arr[20]));
} }
log.info("接收agv上报信息,上报异常信息:" + device);
if (ObjectUtil.isNotEmpty(device)) { if (ObjectUtil.isNotEmpty(device)) {
if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) { if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) {
agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver(); agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver();

6
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java

@ -99,6 +99,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (carno != 0) { if (carno != 0) {
agv_device = deviceAppService.findDeviceByCode(String.valueOf(carno)); agv_device = deviceAppService.findDeviceByCode(String.valueOf(carno));
} }
log.info("接收agv上报信息,agv_device:" + agv_device);
if (ikey != 0) { if (ikey != 0) {
inst = instructionService.findByCodeFromCache(String.valueOf(ikey)); inst = instructionService.findByCodeFromCache(String.valueOf(ikey));
if (ObjectUtil.isEmpty(inst)) { if (ObjectUtil.isEmpty(inst)) {
@ -108,7 +109,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (!ObjectUtil.isEmpty(link_inst)) { if (!ObjectUtil.isEmpty(link_inst)) {
link_flag = true; link_flag = true;
} }
log.info("接收agv上报信息,link_flag:" + link_flag);
Device device = null; Device device = null;
String old_device_code = null; String old_device_code = null;
String emptyNum = null; String emptyNum = null;
@ -325,10 +326,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
}else if (phase == 0x73) { }else if (phase == 0x73) {
log.info("接收agv上报信息,phase == 0x73:" + phase);
//agv电量 //agv电量
electric_qty = ikey; electric_qty = ikey;
//是否开启自动充电 //是否开启自动充电
String is_atuo_electric = paramService.findByCode(AcsConfig.IS_ATUO_ELECTRIC).getValue(); String is_atuo_electric = paramService.findByCode(AcsConfig.IS_ATUO_ELECTRIC).getValue();
log.info("接收agv上报信息,is_atuo_electric:" + is_atuo_electric);
if("1".equals(is_atuo_electric)){ if("1".equals(is_atuo_electric)){
int electric = Integer.parseInt(paramService.findByCode(AcsConfig.ELECTRIC).getValue()); int electric = Integer.parseInt(paramService.findByCode(AcsConfig.ELECTRIC).getValue());
if (electric_qty>0&&electric_qty < electric) { if (electric_qty>0&&electric_qty < electric) {
@ -351,6 +354,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} }
} }
@LokiLog(type = LokiLogType.ACS_TO_LMS)
private byte[] getData(byte[] data, int index, Instruction inst, TaskDto task) { private byte[] getData(byte[] data, int index, Instruction inst, TaskDto task) {
String next_point; String next_point;
String start_point; String start_point;

Loading…
Cancel
Save