This commit is contained in:
USER-20220102CG\noblelift
2023-02-16 18:15:40 +08:00
parent 018a3e251a
commit f78fd03e4a
11 changed files with 178 additions and 75 deletions

View File

@@ -296,7 +296,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
(byte) 0X00, (byte) 0X6D, (byte) 0X00, (byte) 0X6D,
(byte) 0X00, (byte) 0X06, (byte) 0X00, (byte) 0X06,
(byte) indexhigh, (byte) indexlow, (byte) indexhigh, (byte) indexlow,
(byte) 0X01, (byte) 0X10, (byte) 0X01, (byte) 0X12,
(byte) phasehigh, (byte) phaselow (byte) phasehigh, (byte) phaselow
}; };

View File

@@ -13,6 +13,7 @@ import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl;
import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.InstructionService;
import org.nl.acs.instruction.service.dto.Instruction; import org.nl.acs.instruction.service.dto.Instruction;
import org.nl.acs.instruction.service.impl.InstructionServiceImpl; import org.nl.acs.instruction.service.impl.InstructionServiceImpl;
import org.nl.acs.log.service.DeviceExecuteLogService;
import org.nl.acs.opc.Device; import org.nl.acs.opc.Device;
import org.nl.acs.opc.DeviceAppService; import org.nl.acs.opc.DeviceAppService;
import org.nl.modules.system.service.ParamService; import org.nl.modules.system.service.ParamService;
@@ -68,7 +69,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
return "2楼1区域AGV系统"; return "2楼1区域AGV系统";
} }
public void autoRun() { public void autoRun() throws IOException {
try { try {
System.out.println("2楼1区域AGV系统链接开始"); System.out.println("2楼1区域AGV系统链接开始");
@@ -78,6 +79,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class); NDCAgvService ndcAgvService = SpringContextHolder.getBean(NDCAgvService.class);
DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class); DeviceAppService deviceAppService = SpringContextHolder.getBean(DeviceAppService.class);
DeviceService deviceService = SpringContextHolder.getBean(DeviceService.class); DeviceService deviceService = SpringContextHolder.getBean(DeviceService.class);
DeviceExecuteLogService logServer = SpringContextHolder.getBean(DeviceExecuteLogService.class);
ip = paramService.findByCode(AcsConfig.AGVURL2).getValue(); ip = paramService.findByCode(AcsConfig.AGVURL2).getValue();
port = Integer.parseInt(paramService.findByCode(AcsConfig.AGVPORT2).getValue()); port = Integer.parseInt(paramService.findByCode(AcsConfig.AGVPORT2).getValue());
byte[] b = new byte[1028]; byte[] b = new byte[1028];
@@ -210,6 +212,16 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
} catch (Exception e) { } catch (Exception e) {
System.out.println("TwoAgv链接异常");
log.info("TwoAgv链接异常");
log.error("agv连接出现异常:{}", e);
// logServer.deviceExecuteLog("1","","","agv异常"+e.getMessage());
// logServer.deviceExecuteLog("1","","","agv异常" + e);
if(ObjectUtil.isNotEmpty(s)){
s.close();
}
System.out.println(e.getMessage());
e.printStackTrace();
} finally { } finally {

View File

@@ -68,7 +68,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
int last_status = 0; int last_status = 0;
int last_error = 0; int last_error = 0;
@LokiLog(type = LokiLogType.ACS_TO_LMS) @LokiLog(type = LokiLogType.AGV)
public synchronized void processSocket(int[] arr) throws Exception { public synchronized void processSocket(int[] arr) throws Exception {
device_code = this.getDeviceCode(); device_code = this.getDeviceCode();
byte[] data = null; byte[] data = null;
@@ -81,6 +81,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
agvaddr = arr[18] * 256 + arr[19]; agvaddr = arr[18] * 256 + arr[19];
//车号 //车号
int carno = arr[20]; int carno = arr[20];
logServer.deviceExecuteLog(this.device_code, "", "", "接收agv上报信息" + "phase--" + phase + " index--" + index + " 指令号--" + ikey + " 站点号--" + agvaddr + " 车号--" + carno);
Instruction link_inst = null; Instruction link_inst = null;
List<Instruction> insts = null; List<Instruction> insts = null;
Instruction inst = null; Instruction inst = null;
@@ -126,7 +127,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (phase == 0x02) { if (phase == 0x02) {
inst.setCarno(String.valueOf(carno)); inst.setCarno(String.valueOf(carno));
instructionService.update(inst); instructionService.update(inst);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase" + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase" + phase + "反馈车号:" +carno+",指令号:" + ikey);
//到达取货点 //到达取货点
//(需要WCS反馈) //(需要WCS反馈)
@@ -202,8 +203,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) { if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
//取货完毕 //取货完毕
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x05) { } else if (phase == 0x05) {
@@ -291,8 +290,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} }
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); if(ObjectUtil.isNotEmpty(data)){
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase" + phase + "反馈:" + Bytes2HexString(data));
}
//到达放货点 //到达放货点
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x07) { } else if (phase == 0x07) {
@@ -330,9 +330,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver();
// standardOrdinarySiteDeviceDriver.setAgvphase(phase);
// standardOrdinarySiteDeviceDriver.setIndex(index);
// standardOrdinarySiteDeviceDriver.setInst(inst);
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} }
@@ -342,8 +339,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
} }
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
//放货完毕 //放货完毕
//(需要WCS反馈) //(需要WCS反馈)
} else if (phase == 0x09) { } else if (phase == 0x09) {
@@ -387,15 +382,10 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) { if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver(); standardOrdinarySiteDeviceDriver = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver();
// standardOrdinarySiteDeviceDriver.setAgvphase(phase);
// standardOrdinarySiteDeviceDriver.setIndex(index);
// standardOrdinarySiteDeviceDriver.setInst(inst);
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
} }
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
//到达位置点 //到达位置点
//(需要WCS反馈) //(需要WCS反馈)
@@ -404,18 +394,28 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
agvaddr = arr[18] * 256 + arr[19]; agvaddr = arr[18] * 256 + arr[19];
agvaddr_copy = agvaddr; agvaddr_copy = agvaddr;
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} else if (phase == 0x50) {//进入交通灯区域 } else if (phase == 0x50) {//进入交通灯区域
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} else if (phase == 0x51) {//离开交通灯区域 } else if (phase == 0x51) {//离开交通灯区域
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0); data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
if (!ObjectUtil.isEmpty(data)) { if (!ObjectUtil.isEmpty(data)) {
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" +Bytes2HexString(data));
OneNDCSocketConnectionAutoRun.write(data); OneNDCSocketConnectionAutoRun.write(data);
} }
}
public static String Bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret += hex.toUpperCase();
}
return ret;
} }
} }

View File

@@ -50,7 +50,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
int phase = 0; int phase = 0;
int region = 0; int region = 0;
@LokiLog(type = LokiLogType.ACS_TO_LMS) @LokiLog(type = LokiLogType.AGV)
public synchronized void processSocket(int[] arr) throws Exception { public synchronized void processSocket(int[] arr) throws Exception {
device_code = this.getDeviceCode(); device_code = this.getDeviceCode();
byte[] data = null; byte[] data = null;
@@ -63,6 +63,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
agvaddr = arr[18] * 256 + arr[19]; agvaddr = arr[18] * 256 + arr[19];
//车号 //车号
int carno = arr[20]; int carno = arr[20];
logServer.deviceExecuteLog(this.device_code, "", "", "接收agv上报信息" + "phase--" + phase + " index--" + index + " 指令号--" + ikey + " 站点号--" + agvaddr + " 车号--" + carno);
Instruction inst = null; Instruction inst = null;
Device agv_device = null; Device agv_device = null;
if (carno != 0) { if (carno != 0) {
@@ -105,7 +106,8 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
inst.setCarno(String.valueOf(carno)); inst.setCarno(String.valueOf(carno));
instructionService.update(inst); instructionService.update(inst);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase" + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase" + phase + "反馈车号:" +carno+",指令号:" + ikey);
} }
//到达取货点 //到达取货点
//(Itype=1/2/3,需要WCS反馈Phase) //(Itype=1/2/3,需要WCS反馈Phase)
@@ -163,7 +165,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
// 取货完毕 // 取货完毕
//(Itype=1/2/3,需要WCS反馈Phase) //(Itype=1/2/3,需要WCS反馈Phase)
@@ -200,7 +201,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
return; return;
} }
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
//到达取货点(Itype=1、3需要WCS反馈) //到达取货点(Itype=1、3需要WCS反馈)
else if (phase == 0x08) { else if (phase == 0x08) {
@@ -236,7 +236,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
String agv_inst_type = inst.getAgv_inst_type(); String agv_inst_type = inst.getAgv_inst_type();
if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) { if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
} }
// 取货完毕 // 取货完毕
@@ -275,7 +274,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
String agv_inst_type = inst.getAgv_inst_type(); String agv_inst_type = inst.getAgv_inst_type();
if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) { if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
} }
@@ -289,10 +287,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
//上传称重数据 //上传称重数据
if (StrUtil.equals(instruction_type, "1")) { if (StrUtil.equals(instruction_type, "1")) {
weight = agvaddr; weight = agvaddr;
// inst.setWeight(String.valueOf(weight)); inst.setWeight(String.valueOf(weight));
// instructionService.update(inst); instructionService.update(inst);
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
} }
// 到达放货点 // 到达放货点
@@ -329,7 +326,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
return; return;
} }
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
//放货完成 //放货完成
//(Itype=1/2/3,需要WCS反馈) //(Itype=1/2/3,需要WCS反馈)
@@ -365,7 +361,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
return; return;
} }
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
//到达放货点 //到达放货点
//Itype=1、3,需要WCS反馈 //Itype=1、3,需要WCS反馈
@@ -403,7 +398,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
String agv_inst_type = inst.getAgv_inst_type(); String agv_inst_type = inst.getAgv_inst_type();
if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) { if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
} }
//放货完成 //放货完成
@@ -442,7 +436,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
String agv_inst_type = inst.getAgv_inst_type(); String agv_inst_type = inst.getAgv_inst_type();
if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) { if (StrUtil.equals(agv_inst_type, "1") || StrUtil.equals(agv_inst_type, "3")) {
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
} }
//上传AGV电量 //上传AGV电量
@@ -453,7 +446,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
agv_power = ikey; agv_power = ikey;
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} //进入区域phase值 } //进入区域phase值
else if (phase == 0x50) { else if (phase == 0x50) {
@@ -463,7 +455,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
region = agvaddr; region = agvaddr;
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
//离开区域phase值 //离开区域phase值
@@ -474,8 +465,6 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
region = agvaddr; region = agvaddr;
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
//上报异常信息 //上报异常信息
//不需要WCS反馈 //不需要WCS反馈
@@ -484,10 +473,9 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
if (agvaddr == 0) { if (agvaddr == 0) {
} }
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data);
} }
if (!ObjectUtil.isEmpty(data)) { if (!ObjectUtil.isEmpty(data)) {
logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" + data); logServer.deviceExecuteLog(this.device_code, "", "", "agvphase:" + phase + "反馈:" +Bytes2HexString(data));
if (StrUtil.equals(inst.getAgv_system_type(), "2")) { if (StrUtil.equals(inst.getAgv_system_type(), "2")) {
TwoNDCSocketConnectionAutoRun.write(data); TwoNDCSocketConnectionAutoRun.write(data);
} else if (StrUtil.equals(inst.getAgv_system_type(), "3")) { } else if (StrUtil.equals(inst.getAgv_system_type(), "3")) {
@@ -496,4 +484,17 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
} }
public static String Bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret += hex.toUpperCase();
}
return ret;
}
} }

View File

@@ -193,8 +193,6 @@ public class HongXiangConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
} }
if (finish == 1 && !requireSucess) { if (finish == 1 && !requireSucess) {
message = "烘箱完成反馈LMS...";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "开始烘箱完成反馈lms~");
//烘箱完成反馈LMS //烘箱完成反馈LMS
apply_finish(); apply_finish();
} }
@@ -354,6 +352,8 @@ public class HongXiangConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
return false; return false;
} else { } else {
this.instruction_apply_time = date; this.instruction_apply_time = date;
message = "烘箱完成反馈LMS...";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "开始烘箱完成反馈lms~");
ApplyLabelingAndBindingRequest applyLabelingAndBindingRequest = new ApplyLabelingAndBindingRequest(); ApplyLabelingAndBindingRequest applyLabelingAndBindingRequest = new ApplyLabelingAndBindingRequest();
JSONObject device_json = WQLObject.getWQLObject("acs_storage_cell").query("storage_code ='" + this.device_code + "'").uniqueResult(0); JSONObject device_json = WQLObject.getWQLObject("acs_storage_cell").query("storage_code ='" + this.device_code + "'").uniqueResult(0);
String start_point_code = null; String start_point_code = null;
@@ -366,10 +366,10 @@ public class HongXiangConveyorDeviceDriver extends AbstractOpcDeviceDriver imple
if (applyLabelingAndBindingResponse.getstatus() == 200) { if (applyLabelingAndBindingResponse.getstatus() == 200) {
requireSucess = true; requireSucess = true;
message = "烘箱完成反馈LMS成功..."; message = "烘箱完成反馈LMS成功...";
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "烘箱完成反馈lms响应消息:" + String.valueOf(applyLabelingAndBindingResponse)); logServer.deviceExecuteLog(this.getDevice_code(), "", "", "烘箱完成反馈LMS响应消息:" + String.valueOf(applyLabelingAndBindingResponse));
} else { } else {
message = "烘箱完成反馈LMS失败"+String.valueOf(applyLabelingAndBindingResponse); message = "烘箱完成反馈LMS失败"+String.valueOf(applyLabelingAndBindingResponse);
logServer.deviceExecuteLog(this.getDevice_code(), "", "", "烘箱完成反馈lms响应消息:" + String.valueOf(applyLabelingAndBindingResponse)); logServer.deviceExecuteLog(this.getDevice_code(), "", "", "烘箱完成反馈LMS响应消息:" + String.valueOf(applyLabelingAndBindingResponse));
} }
return true; return true;
} }

View File

@@ -206,7 +206,7 @@ public class SiemensConveyorLabelingDeviceDriver extends AbstractOpcDeviceDriver
device_code, "", "", "入库输送线任务开始反馈执行中状态,反馈失败任务状态不为就绪或者执行中状态,指令号:" + task); device_code, "", "", "入库输送线任务开始反馈执行中状态,反馈失败任务状态不为就绪或者执行中状态,指令号:" + task);
} }
} else { } else {
logServer.deviceExecuteLog(device_code, "", "", "入库输送线任务开始反馈任务状态,反馈失败,查询不到指令号:" + task); // logServer.deviceExecuteLog(device_code, "", "", "入库输送线任务开始反馈任务状态,反馈失败,查询不到指令号:" + task);
} }
} }

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE19" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/AgvNdcTwoDeviceDriver/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.acs.device_driver.basedriver.agv.ndctwo.AgvNdcTwoDeviceDriver" level="info" additivity="false">
<appender-ref ref="FILE19"/>
</logger>
</included>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE18" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/二楼2NDC系统/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.acs.auto.run.TwoNDC2SocketConnectionAutoRun" level="info" additivity="false">
<appender-ref ref="FILE18"/>
</logger>
</included>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<included>
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
<property name="LOG_HOME" value="${logPath}"/>
<!-- 按照每天生成日志文件 -->
<appender name="FILE17" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_HOME}/二楼1NDC系统/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件保留天数-->
<maxHistory>15</maxHistory>
<!--单个日志最大容量 至少10MB才能看得出来-->
<maxFileSize>200MB</maxFileSize>
<!--所有日志最多占多大容量-->
<totalSizeCap>2GB</totalSizeCap>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期%thread表示线程名%-5level级别从左显示5个字符宽度%msg日志消息%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<charset>${log.charset}</charset>
</encoder>
</appender>
<!-- <logger name="org.nl.start.Init" level="info" additivity="false">
<appender-ref ref="FILE3"/>
</logger>-->
<!-- 打印sql -->
<logger name="org.nl.acs.auto.run.TwoNDCSocketConnectionAutoRun" level="info" additivity="false">
<appender-ref ref="FILE17"/>
</logger>
</included>

View File

@@ -39,6 +39,9 @@ https://juejin.cn/post/6844903775631572999
<include resource="log/AcsToWms.xml"/> <include resource="log/AcsToWms.xml"/>
<include resource="log/WmsToAcs.xml"/> <include resource="log/WmsToAcs.xml"/>
<include resource="log/OpcUtil.xml"/> <include resource="log/OpcUtil.xml"/>
<include resource="log/TwoNDCSocketConnectionAutoRun.xml"/>
<include resource="log/TwoNdcOneDeviceDriver.xml"/>
<include resource="log/TwoNDC2SocketConnectionAutoRun.xml"/>

View File

@@ -1,17 +1,19 @@
<template> <template>
<!--agv工位--> <!--agv工位-->
<div> <div>
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span class="role-span">设备协议</span> <span class="role-span">指令相关</span>
</div> </div>
<el-form ref="form" :inline="true" :model="form" size="small" label-width="95px">
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="78px"> <el-row>
<el-col :span="12"> <el-col :span="8">
<el-form-item label="扫码器ip" label-width="150px" prop="x"> <el-form-item label="ip地址" prop="ip_address">
<el-input v-model.trim="form.ip_address" /> <el-input
v-model="form.ip_address"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
</el-form> </el-form>
</el-card> </el-card>
<el-card class="box-card" shadow="never"> <el-card class="box-card" shadow="never">
@@ -28,20 +30,19 @@
</el-button> </el-button>
</div> </div>
</el-card> </el-card>
</div> </div>
</template> </template>
<script> <script>
import { import {
queryDriverConfig, queryDriverConfig,
updateConfig updateConfig
} from '@/api/acs/device/driverConfig' } from '@/api/acs/device/driverConfig'
import crud from '@/mixins/crud' import crud from '@/mixins/crud'
import deviceCrud from '@/api/acs/device/device'
export default { export default {
name: 'StandardScanner', name: 'StandardConveyorControl',
mixins: [crud], mixins: [crud],
props: { props: {
parentForm: { parentForm: {
@@ -52,9 +53,7 @@ export default {
data() { data() {
return { return {
form: { form: {
scannerIP: '' ip_address: ''
},
rules: {
} }
} }
}, },
@@ -72,19 +71,7 @@ export default {
this.form = data.form this.form = data.form
} }
} }
this.sliceItem()
// 给表单赋值,并且属性不能为空
if (data.parentForm) {
const arr = Object.keys(data.parentForm)
// 不为空
if (arr.length > 0) {
this.opc_code = data.parentForm.opc_code
this.plc_code = data.parentForm.plc_code
}
}
})
deviceCrud.selectDeviceList().then(data => {
this.deviceList = data
}) })
}) })
}, },
@@ -95,6 +82,7 @@ export default {
this.configLoading = true this.configLoading = true
// 根据驱动类型判断是否为路由设备 // 根据驱动类型判断是否为路由设备
const parentForm = this.parentForm const parentForm = this.parentForm
parentForm.is_route = true
updateConfig(parentForm, this.form, this.data1, this.data2).then(res => { updateConfig(parentForm, this.form, this.data1, this.data2).then(res => {
this.notify('保存成功', 'success') this.notify('保存成功', 'success')
this.configLoading = false this.configLoading = false