diff --git a/acs/nladmin-system/nlsso-server/pom.xml b/acs/nladmin-system/nlsso-server/pom.xml
index f6fabd4..2f3e8f7 100644
--- a/acs/nladmin-system/nlsso-server/pom.xml
+++ b/acs/nladmin-system/nlsso-server/pom.xml
@@ -22,10 +22,10 @@
1.1.22
1.2.0.Final
1.31.0
- 5.7.14
+ 5.8.22
0.11.1
8.2.0
-
+
5.9.0
1.9
@@ -48,10 +48,15 @@
org.dromara.dynamictp
dynamic-tp-spring-boot-starter-adapter-webserver
- 1.1.6
+ 1.1.6.1
+
+ com.yomahub
+ tlog-all-spring-boot-starter
+ 1.5.0
+
org.apache.lucene
lucene-core
@@ -88,11 +93,11 @@
-
+
@@ -184,7 +189,7 @@
-
+
+
@@ -439,7 +444,7 @@
org.bouncycastle
bcprov-jdk15on
- 1.50
+ 1.54
@@ -449,6 +454,36 @@
${commons-csv.version}
+
+ org.apache.poi
+ poi
+ 4.1.2
+
+
+ org.apache.poi
+ poi-ooxml
+ 4.1.2
+
+
+ org.apache.poi
+ poi-ooxml-schemas
+ 4.1.2
+
+
+ org.springframework.retry
+ spring-retry
+ 1.2.5.RELEASE
+
+
+ io.swagger
+ swagger-annotations
+ 1.5.22
+
+
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
index 2e9f7c1..71ca3ee 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java
@@ -1,5 +1,6 @@
package org.nl.acs.device_driver.basedriver.agv.ndcone;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@@ -41,6 +42,8 @@ import org.nl.system.service.param.ISysParamService;
import org.nl.config.SpringContextHolder;
import org.nl.system.service.param.impl.SysParamServiceImpl;
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -155,19 +158,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
return;
}
device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
- /*if (agvaddr != 0) {
- old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
- if (StrUtil.contains(old_device_code, "-")) {
- String[] point = old_device_code.split("-");
- device_code = point[0];
- } else if (StrUtil.contains(old_device_code, ".")) {
- String[] point = old_device_code.split("\\.");
- device_code = point[0];
- emptyNum = point[1];
- } else {
- device_code = old_device_code;
- }
- }*/
if (agvaddr != 0) {
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
@@ -188,20 +178,34 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
}
if (device.getDeviceDriver() instanceof PlcToAgvDeviceDriver) {
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
+ Map extraValue = plcToAgvDeviceDriver.getExtraValue();
if (plcToAgvDeviceDriver.getAGVEnable() != 0) {
- if (ObjectUtil.isNotEmpty(plcToAgvDeviceDriver.getExtraValue().get("upper_lower_levels"))) {
- Object plc_to_agv = plcToAgvDeviceDriver.getExtraValue().get("upper_lower_levels");
- if ("1".equals(plc_to_agv)) {
+ if (device_code.contains("_01")) {
+ if (plcToAgvDeviceDriver.getAGVSetOutUpperAllowed() == 1) {
+ data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
+ }
+ } else if (device_code.contains("_02")) {
+ Object plc_to_agv = extraValue.get("upper_lower_levels");
+ if (ObjectUtil.isNotNull(plc_to_agv) && "1".equals(plc_to_agv)) {
plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "1");
if (plcToAgvDeviceDriver.getAGVSetOutUpperAllowed() == 1) {
+ plcToAgvDeviceDriver.writing("AGVInOP", "1");
data = feedBackStatus(data, index, 1, inst, task, 2, false);
+ }
+ }
+ } else if (ObjectUtil.isNotEmpty(extraValue.get("upper_lower_levels"))) {
+ Object plc_to_agv = extraValue.get("upper_lower_levels");
+ if ("1".equals(plc_to_agv)) {
+ plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "1");
+ if (plcToAgvDeviceDriver.getAGVSetOutUpperAllowed() == 1) {
plcToAgvDeviceDriver.writing("AGVInOP", "1");
+ data = feedBackStatus(data, index, 1, inst, task, 2, false);
}
} else if ("2".equals(plc_to_agv)) {
plcToAgvDeviceDriver.writing("AGVSetOutReqLower", "1");
if (plcToAgvDeviceDriver.getAGVSetOutLowerAllowed() == 1) {
- data = feedBackStatus(data, index, 1, inst, task, 2, false);
plcToAgvDeviceDriver.writing("AGVInOP", "1");
+ data = feedBackStatus(data, index, 1, inst, task, 2, false);
}
}
} else {
@@ -252,14 +256,49 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
}
if (device.getDeviceDriver() instanceof PlcToAgvDeviceDriver) {
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
- try {
- plcToAgvDeviceDriver.writing("AGVInOP", "0");
- plcToAgvDeviceDriver.writing("AGVSetOutReqUpper", "0");
- plcToAgvDeviceDriver.writing("AGVSetOutReqLower", "0");
- } catch (Exception e) {
- log.info("下发AGVInOP信号:{}失败", "0");
+ if (device_code.contains("_01")) {
+ try {
+ List list = new ArrayList<>();
+ Map map = new HashMap();
+ map.put("code", "AGVInOP");
+ map.put("value", "0");
+ Map map1 = new HashMap();
+ map1.put("code", "AGVSetOutReqUpper");
+ map1.put("value", "0");
+ Map map2 = new HashMap();
+ map2.put("code", "AGVSetOutReqLower");
+ map2.put("value", "0");
+ list.add(map);
+ list.add(map1);
+ list.add(map2);
+ plcToAgvDeviceDriver.writing(list);
+ } catch (Exception e) {
+ log.info("下发AGVInOP信号:{}失败", "0");
+ }
+ data = feedBackStatus(data, index, 2, inst, task, 2, false);
+ } else if (device_code.contains("_02")) {
+ data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
+ } else {
+ try {
+ List list = new ArrayList<>();
+ Map map = new HashMap();
+ map.put("code", "AGVInOP");
+ map.put("value", "0");
+ Map map1 = new HashMap();
+ map1.put("code", "AGVSetOutReqUpper");
+ map1.put("value", "0");
+ Map map2 = new HashMap();
+ map2.put("code", "AGVSetOutReqLower");
+ map2.put("value", "0");
+ list.add(map);
+ list.add(map1);
+ list.add(map2);
+ plcToAgvDeviceDriver.writing(list);
+ } catch (Exception e) {
+ log.info("下发AGVInOP信号:{}失败", "0");
+ }
+ data = feedBackStatus(data, index, 2, inst, task, 2, false);
}
- data = feedBackStatus(data, index, 2, inst, task, 2, false);
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
try {
data = feedBackStatus(data, index, 2, inst, task, 1, false);
@@ -300,19 +339,33 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
if (device.getDeviceDriver() instanceof PlcToAgvDeviceDriver) {
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
if (plcToAgvDeviceDriver.getAGVEnable() != 0) {
- if (ObjectUtil.isNotEmpty(plcToAgvDeviceDriver.getExtraValue().get("upper_lower_levels"))) {
- Object plc_to_agv = plcToAgvDeviceDriver.getExtraValue().get("upper_lower_levels");
- if ("1".equals(plc_to_agv)) {
+ Map extraValue = plcToAgvDeviceDriver.getExtraValue();
+ if (device_code.contains("_01")) {
+ Object plc_to_agv = extraValue.get("upper_lower_levels");
+ if (ObjectUtil.isNotNull(plc_to_agv) && "1".equals(plc_to_agv)) {
plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "1");
if (plcToAgvDeviceDriver.getAGVSetInUpperAllowed() == 1) {
+ plcToAgvDeviceDriver.writing("AGVInOP", "1");
data = feedBackStatus(data, index, 3, inst, task, 2, false);
+ }
+ }
+ } else if (device_code.contains("_02")) {
+ if (plcToAgvDeviceDriver.getAGVSetInUpperAllowed() == 1) {
+ data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
+ }
+ } else if (ObjectUtil.isNotEmpty(extraValue.get("upper_lower_levels"))) {
+ Object plc_to_agv = extraValue.get("upper_lower_levels");
+ if ("1".equals(plc_to_agv)) {
+ plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "1");
+ if (plcToAgvDeviceDriver.getAGVSetInUpperAllowed() == 1) {
plcToAgvDeviceDriver.writing("AGVInOP", "1");
+ data = feedBackStatus(data, index, 3, inst, task, 2, false);
}
} else if ("2".equals(plc_to_agv)) {
plcToAgvDeviceDriver.writing("AGVSetInReqLower", "1");
if (plcToAgvDeviceDriver.getAGVSetInLowerAllowed() == 1) {
- data = feedBackStatus(data, index, 3, inst, task, 2, false);
plcToAgvDeviceDriver.writing("AGVInOP", "1");
+ data = feedBackStatus(data, index, 3, inst, task, 2, false);
}
}
} else {
@@ -347,20 +400,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
logServer.deviceExecuteLog(this.device_code, "", "", "agv地址参数有误,phase:" + phase);
return;
}
- /*if (agvaddr != 0) {
- old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
- if (StrUtil.contains(old_device_code, "-")) {
- String[] point = old_device_code.split("-");
- device_code = point[0];
- } else if (StrUtil.contains(old_device_code, ".")) {
- String[] point = old_device_code.split("\\.");
- device_code = point[0];
- emptyNum = point[1];
- } else {
- device_code = old_device_code;
- }
- }*/
-
if (agvaddr != 0) {
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
device_code = old_device_code;
@@ -383,21 +422,56 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
transportOrder = "";
if (device.getDeviceDriver() instanceof PlcToAgvDeviceDriver) {
PlcToAgvDeviceDriver plcToAgvDeviceDriver = (PlcToAgvDeviceDriver) device.getDeviceDriver();
- try {
- plcToAgvDeviceDriver.writing("AGVInOP", "0");
- plcToAgvDeviceDriver.writing("AGVSetInReqUpper", "0");
- plcToAgvDeviceDriver.writing("AGVSetInReqLower", "0");
- } catch (Exception e) {
- log.info("下发AGVInOP信号失败");
+ if (device_code.contains("_01")) {
+ data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
+ } else if (device_code.contains("_02")) {
+ try {
+ List list = new ArrayList<>();
+ Map map = new HashMap();
+ map.put("code", "AGVInOP");
+ map.put("value", "0");
+ Map map1 = new HashMap();
+ map1.put("code", "AGVSetInReqUpper");
+ map1.put("value", "0");
+ Map map2 = new HashMap();
+ map2.put("code", "AGVSetInReqLower");
+ map2.put("value", "0");
+ list.add(map);
+ list.add(map1);
+ list.add(map2);
+ plcToAgvDeviceDriver.writing(list);
+ } catch (Exception e) {
+ log.info("下发AGVInOP信号:{}失败", "0");
+ }
+ data = feedBackStatus(data, index, 4, inst, task, 2, false);
+ } else {
+ try {
+ List list = new ArrayList<>();
+ Map map = new HashMap();
+ map.put("code", "AGVInOP");
+ map.put("value", "0");
+ Map map1 = new HashMap();
+ map1.put("code", "AGVSetInReqUpper");
+ map1.put("value", "0");
+ Map map2 = new HashMap();
+ map2.put("code", "AGVSetInReqLower");
+ map2.put("value", "0");
+ list.add(map);
+ list.add(map1);
+ list.add(map2);
+ plcToAgvDeviceDriver.writing(list);
+ } catch (Exception e) {
+ log.info("下发AGVInOP信号:{}失败", "0");
+ }
+ data = feedBackStatus(data, index, 4, inst, task, 2, false);
}
- data = feedBackStatus(data, index, 4, inst, task, 2, false);
} else if (device.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
try {
StandardOrdinarySiteDeviceDriver standar = (StandardOrdinarySiteDeviceDriver) device.getDeviceDriver();
Map extraValue = standar.getDevice().getExtraValue();
boolean is_empty = false;
if (ObjectUtil.isNotEmpty(extraValue.get("is_empty"))) {
- is_empty = extraValue.get("is_empty").equals("true") ? true : false;
+ is_empty = extraValue.get("is_empty").equals("true");
}
data = feedBackStatus(data, index, 4, inst, task, 1, is_empty);
} catch (Exception e) {
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java
index 968d8a1..0fcd889 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/ItemProtocol.java
@@ -22,6 +22,8 @@ public class ItemProtocol {
public static String item_AGVSetInReqUpper = "AGVSetInReqUpper";
public static String item_AGVSetOutReqUpper = "AGVSetOutReqUpper";
public static String item_AGVInOP = "AGVInOP";
+ public static String item_Heartbeat = "heartbeat";
+ public static String item_Heartbeat1 = "heartbeat1";
private PlcToAgvDeviceDriver driver;
@@ -31,6 +33,10 @@ public class ItemProtocol {
this.driver = driver;
}
+ public short getHeartbeat() {
+ return this.getOpcShortValue(item_Heartbeat);
+ }
+
public int getAGVSetInLowerAllowed() {
return this.getOpcIntegerValue(item_AGVSetInLowerAllowed);
}
@@ -51,6 +57,26 @@ public class ItemProtocol {
return this.getOpcIntegerValue(item_AGVEnable);
}
+ public int getAGVInOP() {
+ return this.getOpcIntegerValue(item_AGVInOP);
+ }
+
+ public int getAGVSetInReqUpper() {
+ return this.getOpcIntegerValue(item_AGVSetInReqUpper);
+ }
+
+ public int getAGVSetInReqLower() {
+ return this.getOpcIntegerValue(item_AGVSetInReqLower);
+ }
+
+ public int getAGVSetOutReqUpper() {
+ return this.getOpcIntegerValue(item_AGVSetOutReqUpper);
+ }
+
+ public int getAGVSetOutReqLower() {
+ return this.getOpcIntegerValue(item_AGVSetOutReqLower);
+ }
+
//是否有货
public int hasGoods(int move) {
@@ -59,11 +85,14 @@ public class ItemProtocol {
Boolean isonline;
+ int last_value = 0;
+ long date = 0;
+ private static final long STABILITY_DURATION_MS = 3000; // 稳定时间 3 秒
+
public int getOpcIntegerValue(String protocol) {
getExends();
Integer value = this.driver.getIntegeregerValue(protocol);
if (value == null) {
- // log.error(this.getDriver().getDeviceCode() + ":protocol " + protocol + " 信号同步异常!");
setIsonline(false);
} else {
setIsonline(true);
@@ -73,33 +102,48 @@ public class ItemProtocol {
}
- public void getExends(){
+
+ public Short getOpcShortValue(String protocol) {
+ getExends();
+ Short value = this.driver.getShortValue(protocol);
+ if (value == null) {
+ setIsonline(false);
+ } else {
+ setIsonline(true);
+ return value;
+ }
+ return 0;
+
+ }
+
+ public void getExends() {
Object upper_lower_levels = this.driver.getExtraValue().get("upper_lower_levels");
- if(ObjectUtil.isNotEmpty(upper_lower_levels)){
- msg = upper_lower_levels;
+ if (ObjectUtil.isNotEmpty(upper_lower_levels)) {
+ msg = upper_lower_levels;
}
}
public static List getReadableItemDtos() {
ArrayList list = new ArrayList();
- if(ObjectUtil.isNotEmpty(msg) && "1".equals(msg)){
+ if (ObjectUtil.isNotEmpty(msg) && "1".equals(msg)) {
list.add(new ItemDto(item_AGVSetInUpperAllowed, "上层允许上料", "DB600.B3"));
list.add(new ItemDto(item_AGVSetOutUpperAllowed, "上层允许下料", "DB600.B4"));
- }else if(ObjectUtil.isNotEmpty(msg) && "2".equals(msg)){
+ } else if (ObjectUtil.isNotEmpty(msg) && "2".equals(msg)) {
list.add(new ItemDto(item_AGVSetInLowerAllowed, "下层允许上料", "DB600.B0"));
list.add(new ItemDto(item_AGVSetOutLowerAllowed, "下层允许下料", "DB600.B2"));
}
list.add(new ItemDto(item_AGVEnable, "agv动作使能", "DB600.D6"));
+ list.add(new ItemDto(item_Heartbeat, "心跳", "DB600.D6"));
return list;
}
public static List getWriteableItemDtos() {
ArrayList list = new ArrayList();
- if(ObjectUtil.isNotEmpty(msg) && "1".equals(msg)){
+ if (ObjectUtil.isNotEmpty(msg) && "1".equals(msg)) {
list.add(new ItemDto(item_AGVSetInReqUpper, "上层上料请求", "DB600.B3"));
list.add(new ItemDto(item_AGVSetOutReqUpper, "上层下料请求", "DB600.B4"));
- }else if(ObjectUtil.isNotEmpty(msg) && "2".equals(msg)){
+ } else if (ObjectUtil.isNotEmpty(msg) && "2".equals(msg)) {
list.add(new ItemDto(item_AGVSetInReqLower, "下层上料请求", "DB600.B0"));
list.add(new ItemDto(item_AGVSetOutReqLower, "下层下料请求", "DB600.B2"));
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/PlcToAgvDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/PlcToAgvDeviceDriver.java
index 38f5b9c..9d53d9b 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/PlcToAgvDeviceDriver.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/plc_to_agv/PlcToAgvDeviceDriver.java
@@ -36,6 +36,7 @@ import org.nl.system.service.lucene.LuceneExecuteLogService;
import org.nl.system.service.lucene.dto.LuceneLogDto;
import org.openscada.opc.lib.da.Server;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
import java.util.*;
@@ -69,9 +70,24 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
int AGVSetOutUpperAllowed = 0;
int AGVEnable = 0;
+ int AGVSetInReqUpper = 0;
+ int AGVSetInReqLower = 0;
+ int AGVSetOutReqUpper = 0;
+ int AGVSetOutReqLower = 0;
+ int AGVInOP = 0;
+
+ Boolean flag = false;
String device_code;
+ String writing_heartbeat = "0";
+
+ private long STABILITY_DURATION_MS = 8000;
+
+ int heartbeat = 0;
+ int last_heartbeat = 0;
+ private Date instruction_require_time = new Date();
+
@Override
public Device getDevice() {
return this.device;
@@ -88,15 +104,25 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
AGVSetInUpperAllowed = this.itemProtocol.getAGVSetInUpperAllowed();
AGVSetOutUpperAllowed = this.itemProtocol.getAGVSetOutUpperAllowed();
AGVEnable = this.itemProtocol.getAGVEnable();
-
+ AGVInOP = this.itemProtocol.getAGVInOP();
+ AGVSetInReqUpper = this.itemProtocol.getAGVSetInReqUpper();
+ AGVSetInReqLower = this.itemProtocol.getAGVSetInReqLower();
+ AGVSetOutReqUpper = this.itemProtocol.getAGVSetOutReqUpper();
+ AGVSetOutReqLower = this.itemProtocol.getAGVSetOutReqLower();
+ heartbeat = this.itemProtocol.getHeartbeat();
+
+ if (heartbeat == 1) {
+ writing("heartbeat", writing_heartbeat);
+ }
} catch (Exception var17) {
log.info("读取信号失败,失败原因:{}", var17.getMessage());
throw new BadRequestException("读取信号失败,失败原因:" + var17.getMessage());
}
-
+ last_heartbeat = heartbeat;
}
+
/**
* 多个信号一起下发电气
*
@@ -131,6 +157,7 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
itemMap.put(to_param, Integer.parseInt(value));
try {
+ Thread.sleep(1000);
this.checkcontrol(itemMap);
} catch (Exception e) {
e.printStackTrace();
@@ -143,6 +170,36 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
luceneExecuteLogService.deviceExecuteLog(logDto);
}
+ public void writing(List list) {
+ Map itemMap = new HashMap();
+ for (int i = 0; i < list.size(); i++) {
+ Object ob = list.get(i);
+ JSONObject json = (JSONObject) JSONObject.toJSON(ob);
+ if (!StrUtil.isEmpty(json.getString("value"))) {
+ String to_param = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code()
+ + "." + json.getString("code");
+ itemMap.put(to_param, json.getString("value"));
+ }
+ }
+ LuceneLogDto logDto = LuceneLogDto.builder()
+ .device_code(device_code)
+ .content("下发电气信号:" + itemMap)
+ .build();
+ logDto.setLog_level(4);
+ luceneExecuteLogService.deviceExecuteLog(logDto);
+ try {
+ this.checkcontrol(itemMap);
+ } catch (Exception e) {
+ e.printStackTrace();
+ try {
+ this.checkcontrol(itemMap);
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+
+ }
+
public String getToParam() {
return this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + ".";
}
@@ -172,6 +229,12 @@ public class PlcToAgvDeviceDriver extends AbstractOpcDeviceDriver implements Dev
@Override
public JSONObject getDeviceStatusName() {
JSONObject jo = new JSONObject();
+ jo.put("signals_are_allowed", AGVSetInLowerAllowed == 1 ? "下层允许上料请求" : AGVSetOutLowerAllowed == 1 ? "下层允许下料请求"
+ : AGVSetInUpperAllowed == 1 ? "上层允许上料请求" : AGVSetOutUpperAllowed == 1 ? "上层允许下料请求" : "未允许");
+ jo.put("agv_enable", AGVEnable == 1 ? "启用" : "禁用");
+ jo.put("request_a_signal",AGVSetInReqUpper == 1 ? "上层上料请求" : AGVSetInReqLower == 1 ? "下层上料请求"
+ : AGVSetOutReqUpper == 1 ? "上层下料请求" : AGVSetOutReqLower == 1 ? "下层下料请求" : "未请求");
+ jo.put("agv_inop", AGVInOP == 1 ? "AGV动作中" : "AGV空闲");
return jo;
}
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/config/SwaggerConfig.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/config/SwaggerConfig.java
index fa7ae74..f8e510e 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/config/SwaggerConfig.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/config/SwaggerConfig.java
@@ -1,5 +1,4 @@
-/*
- * Copyright 2019-2020 Zheng Jie
+/* * Copyright 2019-2020 Zheng Jie
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -11,8 +10,10 @@
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
- * limitations under the License.
- */
+ * limitations under the License.*//*
+
+
+
package org.nl.config;
import com.fasterxml.classmate.TypeResolver;
@@ -40,11 +41,14 @@ import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
import static springfox.documentation.schema.AlternateTypeRules.newRule;
+*/
/**
* api页面 /doc.html
* @author Zheng Jie
- * @date 2018-11-23
- */
+ * @date 2018-11-23*//*
+
+
+
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@@ -125,9 +129,10 @@ public class SwaggerConfig {
}
}
-/**
+*
* 将Pageable转换展示在swagger中
- */
+
+
@Configuration
class SwaggerDataConfig {
@@ -159,3 +164,4 @@ class SwaggerDataConfig {
private List sort;
}
}
+*/
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoCreateInst.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoCreateInst.java
index 921e2d1..810c3d3 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoCreateInst.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/AutoCreateInst.java
@@ -22,7 +22,9 @@ import org.nl.system.service.param.ISysParamService;
import org.springframework.stereotype.Component;
import java.util.Arrays;
+import java.util.Comparator;
import java.util.List;
+import java.util.stream.Collectors;
/**
* 自动创建指令
@@ -40,6 +42,7 @@ public class AutoCreateInst {
RouteLineService routeLineService = SpringContextHolder.getBean(RouteLineService.class);
ISysParamService acsConfigService = SpringContextHolder.getBean(ISysParamService.class);
List list = taskserver.queryByStauts("0");
+ list = list.stream().sorted(Comparator.comparing(TaskDto::getPriority)).collect(Collectors.toList());
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
for (int i = 0; i < list.size(); i++) {
TaskDto acsTask = list.get(i);
diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java
index 92350d4..e5b0a0c 100644
--- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java
+++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/lucene/impl/LuceneServiceImpl.java
@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.lucene.document.Document;
+import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.*;
@@ -67,6 +68,7 @@ public class LuceneServiceImpl implements LuceneService {
} else {
endDate = getDate(endDate);
}
+
TermRangeQuery termRangeQuery = new TermRangeQuery("logTime", new BytesRef(startDate), new BytesRef(endDate), true, true);
booleanQueryBuilder.add(termRangeQuery, BooleanClause.Occur.MUST);
if (whereJson.get("device_code") != null){
diff --git a/acs/nladmin-ui/src/views/acs/device/driver/plc_to_agv.vue b/acs/nladmin-ui/src/views/acs/device/driver/plc_to_agv.vue
index 94fd810..8292ce4 100644
--- a/acs/nladmin-ui/src/views/acs/device/driver/plc_to_agv.vue
+++ b/acs/nladmin-ui/src/views/acs/device/driver/plc_to_agv.vue
@@ -71,17 +71,34 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -330,7 +347,11 @@ export default {
is_pickup: true,
is_release: true,
link_device_code: [],
- address: ''
+ address: '',
+ is_wait: true,
+ is_wait_finish: true,
+ is_releases: true,
+ is_releases_finish: true
},
rules: {},
levels: [
diff --git a/acs/nladmin-ui/src/views/system/monitor/device/index.vue b/acs/nladmin-ui/src/views/system/monitor/device/index.vue
index 484f28b..99ba46b 100644
--- a/acs/nladmin-ui/src/views/system/monitor/device/index.vue
+++ b/acs/nladmin-ui/src/views/system/monitor/device/index.vue
@@ -597,6 +597,18 @@ export default {
} else if (val === 'task_id') {
const obj = { name: '任务号', value: data[val] }
this.arr.push(obj)
+ } else if (val === 'signals_are_allowed') {
+ const obj = { name: '允许信号', value: data[val] }
+ this.arr.push(obj)
+ } else if (val === 'agv_enable') {
+ const obj = { name: '动作使能', value: data[val] }
+ this.arr.push(obj)
+ } else if (val === 'request_a_signal') {
+ const obj = { name: '请求信号', value: data[val] }
+ this.arr.push(obj)
+ } else if (val === 'agv_inop') {
+ const obj = { name: '工位内', value: data[val] }
+ this.arr.push(obj)
}
}
}
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/region/RegionEnum.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/region/RegionEnum.java
index e58a04c..107f81d 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/region/RegionEnum.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/common/enums/region/RegionEnum.java
@@ -11,6 +11,7 @@ public enum RegionEnum {
TRUBEND_SHELVES_3_1_1("TruBend 7036货架03-01-01","111-07"),
ZDFJ("分拣工序","111-08"),
DDLK("堆叠笼框工序","111-20"),
+ NBJG("内部加工区","111-10"),
;
private final String region_name;
private final String region_code;
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
index 39e9b71..c3f265d 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java
@@ -400,8 +400,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject json = new JSONObject();
json.put("vehicle_code", schBaseTask.getVehicle_code());
json.put("status", status);
+ String point_code2 = schBaseTask.getPoint_code2();
+ if (point_code2.contains("_0")) {
+ point_code2 = point_code2.substring(0, point_code2.length() - 3);
+ }
+ String task_code = schBaseTask.getTask_code();
+ String substring = task_code.substring(task_code.length() - 1);
+ if ("A".equals(substring) || "B".equals(substring)) {
+ task_code = task_code.substring(0, task_code.length() - 1);
+ }
json.put("device_code", schBaseTask.getPoint_code2());
- json.put("task_code", schBaseTask.getTask_code());
+ json.put("task_code", task_code);
AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
}
}
@@ -448,8 +457,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject json = new JSONObject();
json.put("vehicle_code", vehicle_code);
json.put("status", status);
- json.put("device_code", schBaseTask.getPoint_code1());
- json.put("task_code", schBaseTask.getTask_code());
+ String point_code1 = schBaseTask.getPoint_code1();
+ if (point_code1.contains("_0")) {
+ point_code1 = point_code1.substring(0, point_code1.length() - 3);
+ }
+ json.put("device_code", point_code1);
+ String task_code = schBaseTask.getTask_code();
+ String substring = task_code.substring(task_code.length() - 1);
+ if ("A".equals(substring) || "B".equals(substring)) {
+ task_code = task_code.substring(0, task_code.length() - 1);
+ }
+ json.put("task_code", task_code);
AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
}
}
@@ -502,8 +520,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject json = new JSONObject();
json.put("vehicle_code", schBaseTask.getVehicle_code());
json.put("status", status);
- json.put("device_code", schBaseTask.getPoint_code1());
- json.put("task_code", schBaseTask.getTask_code());
+ String point_code1 = schBaseTask.getPoint_code1();
+ if (point_code1.contains("_0")) {
+ point_code1 = point_code1.substring(0, point_code1.length() - 3);
+ }
+ json.put("device_code", point_code1);
+ String task_code = schBaseTask.getTask_code();
+ String substring = task_code.substring(task_code.length() - 1);
+ if ("A".equals(substring) || "B".equals(substring)) {
+ task_code = task_code.substring(0, task_code.length() - 1);
+ }
+ json.put("task_code", task_code);
boolean flag = true;
AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
if (acsResponse.getStatus() != 200 || StringUtils.isNotEmpty(acsResponse.getErrMsg())) {
@@ -525,8 +552,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService {
JSONObject json = new JSONObject();
json.put("vehicle_code", schBaseTask.getVehicle_code());
json.put("status", status);
- json.put("device_code", schBaseTask.getPoint_code1());
- json.put("task_code", schBaseTask.getTask_code());
+ String point_code2 = schBaseTask.getPoint_code2();
+ if (point_code2.contains("_0")) {
+ point_code2 = point_code2.substring(0, point_code2.length() - 3);
+ }
+ json.put("device_code", point_code2);
+ String task_code = schBaseTask.getTask_code();
+ String substring = task_code.substring(task_code.length() - 1);
+ if ("A".equals(substring) || "B".equals(substring)) {
+ task_code = task_code.substring(0, task_code.length() - 1);
+ }
+ json.put("task_code", task_code);
boolean flag = true;
AcsResponse acsResponse = sortingService.feedAgvTaskStatus(json);
if (acsResponse.getStatus() != 200 || StringUtils.isNotEmpty(acsResponse.getErrMsg())) {
diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java
index a3810ac..7716b07 100644
--- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java
+++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/handheld/controller/HandheldController.java
@@ -28,9 +28,9 @@ public class HandheldController {
@Autowired
private HandheldService handheldService;
- @PostMapping("/task")
- @Log("手持空料笼入库")
- @ApiOperation("手持空料笼入库")
+ @PostMapping("/cageFrame")
+ @Log("外协区空笼框送回")
+ @ApiOperation("外协区空笼框送回")
@SaIgnore
public ResponseEntity