This commit is contained in:
2023-01-04 15:23:26 +08:00
parent af3c5985ea
commit 327681cc3c

View File

@@ -80,6 +80,10 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im
int last_mode = 0; int last_mode = 0;
int last_move = 0; int last_move = 0;
int last_error = 0; int last_error = 0;
int last_action = 0;
int last_number = 0;
int last_container_type = 0;
int last_task = 0;
String device_code; String device_code;
@@ -90,33 +94,64 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im
//请求成功标记 //请求成功标记
Boolean requireSucess = false; Boolean requireSucess = false;
Boolean requireSucessFullIn = false;
@Override @Override
public void execute() { public void execute() {
String message = null; String message = null;
device_code = this.getDeviceCode(); try {
heartbeat = this.itemProtocol.getItem_heartbeat(); device_code = this.getDeviceCode();
mode = this.itemProtocol.getItem_mode(); heartbeat = this.itemProtocol.getItem_heartbeat();
move = this.itemProtocol.getItem_move(); mode = this.itemProtocol.getItem_mode();
action = this.itemProtocol.getItem_action(); move = this.itemProtocol.getItem_move();
error = this.itemProtocol.getItem_error(); action = this.itemProtocol.getItem_action();
number = this.itemProtocol.getItem_number(); error = this.itemProtocol.getItem_error();
container_type = this.itemProtocol.getItem_container_type(); number = this.itemProtocol.getItem_number();
task = this.itemProtocol.getItem_task(); container_type = this.itemProtocol.getItem_container_type();
task = this.itemProtocol.getItem_task();
if (mode != last_mode) {
if (mode != last_mode) { if (mode == 4) {
this.setRequireSucess(false); logServer.deviceExecuteLog(device_code, "", "", "请求标记变化前:requireSucess = " + requireSucess);
} requireSucess = false;
if (move != last_move) { logServer.deviceExecuteLog(device_code, "", "", "请求标记变化后:requireSucess = " + requireSucess);
if (move == 0) { }
thingToNothing(); if (mode == 5) {
logServer.deviceExecuteLog(device_code, "", "", "请求标记变化前:requireSucessFullIn = " + requireSucessFullIn);
requireSucessFullIn = false;
logServer.deviceExecuteLog(device_code, "", "", "请求标记变化前:requireSucessFullIn = " + requireSucessFullIn);
}
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
} }
if (move != last_move) {
logServer.deviceItemValue(this.device_code, "move", String.valueOf(move));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move" + last_move + "->" + move);
}
if (task != last_task) {
logServer.deviceItemValue(this.device_code, "task", String.valueOf(task));
logServer.deviceExecuteLog(this.device_code, "", "", "信号task" + last_task + "->" + task);
}
if (action != last_action) {
logServer.deviceItemValue(this.device_code, "action", String.valueOf(action));
logServer.deviceExecuteLog(this.device_code, "", "", "信号action" + last_action + "->" + action);
}
if (number != last_number) {
logServer.deviceItemValue(this.device_code, "number", String.valueOf(number));
logServer.deviceExecuteLog(this.device_code, "", "", "信号number" + last_number + "->" + number);
}
if (container_type != last_container_type) {
logServer.deviceItemValue(this.device_code, "container_type", String.valueOf(container_type));
logServer.deviceExecuteLog(this.device_code, "", "", "信号container_type" + last_container_type + "->" + container_type);
}
if (error != last_error) {
logServer.deviceItemValue(this.device_code, "error", String.valueOf(error));
logServer.deviceExecuteLog(this.device_code, "", "", "信号error" + last_error + "->" + error);
}
} catch (Exception e) {
logServer.deviceExecuteLog(device_code, "", "", "未执行到创建任务代码---" + e.getMessage());
return;
} }
if (error != last_error) {
}
if (!this.itemProtocol.getIsonline()) { if (!this.itemProtocol.getIsonline()) {
this.setIsonline(false); this.setIsonline(false);
@@ -147,7 +182,8 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im
Date date = new Date(); Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) { if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
}else { } else {
logServer.deviceExecuteLog(device_code, "", "", "开始申请空盘任务-");
//向LMS发送请求发送终点和托盘类型 //向LMS发送请求发送终点和托盘类型
jo.put("type", "1"); jo.put("type", "1");
jo.put("point_code", device_code); jo.put("point_code", device_code);
@@ -155,7 +191,8 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im
jo.put("vehicle_type", container_type); jo.put("vehicle_type", container_type);
String result = acsToWmsService.applyTaskToWms(jo); String result = acsToWmsService.applyTaskToWms(jo);
JSONObject res_jo = JSONObject.parseObject(result); JSONObject res_jo = JSONObject.parseObject(result);
if (res_jo.getString("status").equals("200")){ if (res_jo.getString("status").equals("200")) {
logServer.deviceExecuteLog(device_code, "", "", "空盘任务申请成功-");
requireSucess = true; requireSucess = true;
} }
} }
@@ -163,11 +200,12 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im
break; break;
case 5: case 5:
//满托入库 //满托入库
if (move == 1 && !requireSucess) { if (move == 1 && !requireSucessFullIn) {
Date date = new Date(); Date date = new Date();
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) { if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out); log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
}else { } else {
logServer.deviceExecuteLog(device_code, "", "", "满托入库申请开始任务-");
//向LMS发送请求发送起点 //向LMS发送请求发送起点
jo.put("type", "2"); jo.put("type", "2");
jo.put("point_code", device_code); jo.put("point_code", device_code);
@@ -176,8 +214,9 @@ public class HailiangSmartplcTestDeviceDriver extends AbstractOpcDeviceDriver im
jo.put("qty", number); jo.put("qty", number);
String result = acsToWmsService.applyTaskToWms(jo); String result = acsToWmsService.applyTaskToWms(jo);
JSONObject res_jo = JSONObject.parseObject(result); JSONObject res_jo = JSONObject.parseObject(result);
if (res_jo.getString("status").equals("200")){ if (res_jo.getString("status").equals("200")) {
requireSucess = true; requireSucessFullIn = true;
logServer.deviceExecuteLog(device_code, "", "", "满托入库任务申请成功-");
} }
} }
} }