Browse Source

add: 上下料测试,驱动类型修改

master
LISHUAI 6 months ago
parent
commit
5a08c9f11a
  1. 18
      acs/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java
  2. 3
      acs/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java
  3. 24
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv_conveyor/AgvConveyorDeviceDriver.java

18
acs/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvWaitUtil.java

@ -121,6 +121,9 @@ public class AgvWaitUtil {
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDevice) { } else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDevice) {
// 普通站点驱动 // 普通站点驱动
String message = "允许AGV取货后离开。"; String message = "允许AGV取货后离开。";
this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", message);
flag = true;
} else if (device.getDeviceDriver() instanceof AgvConveyorDeviceDriver) {
// agv下料完成后写信号 // agv下料完成后写信号
String executeCode = task.getExecute_code(); String executeCode = task.getExecute_code();
if (StrUtil.isNotEmpty(executeCode)) { if (StrUtil.isNotEmpty(executeCode)) {
@ -129,12 +132,13 @@ public class AgvWaitUtil {
AgvConveyorDeviceDriver driver = (AgvConveyorDeviceDriver) executeDevice.getDeviceDriver(); AgvConveyorDeviceDriver driver = (AgvConveyorDeviceDriver) executeDevice.getDeviceDriver();
if ("down".equals(task.getExecute_message())) { if ("down".equals(task.getExecute_message())) {
driver.writing("to_down_finished", 1); driver.writing("to_down_finished", 1);
this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", "下料完成"); log.info(deviceCode, "", "", "下料完成");
} }
} }
flag = true;
}else {
log.info(deviceCode, "", "", "执行设备不是agv上下料驱动");
} }
this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", message);
flag = true;
} else { } else {
flag = true; flag = true;
} }
@ -321,6 +325,7 @@ public class AgvWaitUtil {
WQLObject.getWQLObject("acs_device_runpoint").update(rpUpdate, "device_code = '" + deviceCode + "'"); WQLObject.getWQLObject("acs_device_runpoint").update(rpUpdate, "device_code = '" + deviceCode + "'");
} }
} }
} else if (device.getDeviceDriver() instanceof AgvConveyorDeviceDriver) {
// agv上料完成后写信号 // agv上料完成后写信号
String executeCode = task.getExecute_code(); String executeCode = task.getExecute_code();
if (StrUtil.isNotEmpty(executeCode)) { if (StrUtil.isNotEmpty(executeCode)) {
@ -329,12 +334,13 @@ public class AgvWaitUtil {
AgvConveyorDeviceDriver driver = (AgvConveyorDeviceDriver) executeDevice.getDeviceDriver(); AgvConveyorDeviceDriver driver = (AgvConveyorDeviceDriver) executeDevice.getDeviceDriver();
if ("up".equals(task.getExecute_message())) { if ("up".equals(task.getExecute_message())) {
driver.writing("to_up_finished", 1); driver.writing("to_up_finished", 1);
this.deviceExecuteLogService.deviceExecuteLog(deviceCode, "", "", "上料完成"); log.info(deviceCode, "", "", "上料完成");
} }
} }
flag = true;
}else {
log.info(deviceCode, "", "", "执行设备不是agv上下料驱动");
} }
flag = true;
} else { } else {
flag = true; flag = true;
} }

3
acs/nladmin-system/src/main/java/org/nl/acs/device/device_driver/DriverTypeEnum.java

@ -12,8 +12,7 @@ public enum DriverTypeEnum {
ORDINARY_SITE(1, "standard_ordinary_site", "普通站点", "station"), ORDINARY_SITE(1, "standard_ordinary_site", "普通站点", "station"),
NL4_STATION(2, "nl4_station", "诺力四期-对接位", "station"), NL4_STATION(2, "nl4_station", "诺力四期-对接位", "station"),
AGV_CONVEYOR(3, "agv_conveyor", "上下料任务管理驱动", "conveyor"), STANDAR_ORDINARY_SITE(3, "agv_conveyor", "上下料agv对接位", "conveyor");
STANDAR_ORDINARY_SITE(4, "standard_ordinary_site", "上下料agv对接位", "conveyor");
//驱动索引 //驱动索引
private int index; private int index;
//驱动编码 //驱动编码

24
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/basedriver/agv_conveyor/AgvConveyorDeviceDriver.java

@ -32,7 +32,7 @@ import org.nl.modules.wql.util.SpringContextHolder;
import java.util.*; import java.util.*;
/** /**
* 货梯对接线 * AGV上料下料
*/ */
@Slf4j @Slf4j
@Getter @Getter
@ -147,6 +147,11 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
//请求下料 //请求下料
if (down_request == 1){ if (down_request == 1){
List<TaskDto> taskDtos = taskserver.queryTaskByDeviceCodeAndStatus(on_off_site_str);
if (CollUtil.isNotEmpty(taskDtos)){
logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+on_off_site_str+"为起点就绪或执行的任务");
return false;
}
String nextCode = null; String nextCode = null;
//下料点要有货,终点要无货 //下料点要有货,终点要无货
JSONObject json = wo.query("device_code ='" + on_off_site_str + "'").uniqueResult(0); JSONObject json = wo.query("device_code ='" + on_off_site_str + "'").uniqueResult(0);
@ -169,11 +174,7 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
logServer.deviceExecuteLog(this.device_code, "", "", "终点货物占满"); logServer.deviceExecuteLog(this.device_code, "", "", "终点货物占满");
return false; return false;
} }
List<TaskDto> taskDtos = taskserver.queryTaskByDeviceCodeAndStatus(on_off_site_str);
if (CollUtil.isNotEmpty(taskDtos)){
logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+on_off_site_str+"为起点就绪或执行的任务");
return false;
}
TaskDto taskDto = new TaskDto(); TaskDto taskDto = new TaskDto();
taskDto.setStart_device_code(on_off_site_str); taskDto.setStart_device_code(on_off_site_str);
@ -188,6 +189,11 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
//请求上料 //请求上料
if (up_request == 1){ if (up_request == 1){
String startCode = null; String startCode = null;
List<TaskDto> taskDtos = taskserver.queryTaskByEndDeviceCodeAndStatus(on_off_site_str);
if (CollUtil.isNotEmpty(taskDtos)){
logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+on_off_site_str+"为终点就绪或执行的任务");
return false;
}
//起点要有货,上料点要无货 //起点要有货,上料点要无货
JSONObject json = wo.query("device_code ='" + on_off_site_str + "'").uniqueResult(0); JSONObject json = wo.query("device_code ='" + on_off_site_str + "'").uniqueResult(0);
if (MapUtil.isNotEmpty(json) && "1".equals(json.get("hasgoods"))){ if (MapUtil.isNotEmpty(json) && "1".equals(json.get("hasgoods"))){
@ -209,11 +215,7 @@ public class AgvConveyorDeviceDriver extends AbstractOpcDeviceDriver implements
logServer.deviceExecuteLog(this.device_code, "", "", "起点无货物可取或者物料类型不匹配"); logServer.deviceExecuteLog(this.device_code, "", "", "起点无货物可取或者物料类型不匹配");
return false; return false;
} }
List<TaskDto> taskDtos = taskserver.queryTaskByEndDeviceCodeAndStatus(on_off_site_str);
if (CollUtil.isNotEmpty(taskDtos)){
logServer.deviceExecuteLog(this.device_code, "", "", "已存在"+startCode+"为终点就绪或执行的任务");
return false;
}
TaskDto taskDto = new TaskDto(); TaskDto taskDto = new TaskDto();
taskDto.setStart_device_code(startCode); taskDto.setStart_device_code(startCode);
taskDto.setNext_device_code(on_off_site_str); taskDto.setNext_device_code(on_off_site_str);

Loading…
Cancel
Save