From f2935f60797cd9289ce7703210d3eba438652bea Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期二, 06 十二月 2022 12:49:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'gitbit/stwcs' into stwcs
---
src/main/java/com/zy/core/model/DevpSlave.java | 2 +
src/main/java/com/zy/core/thread/LedThread.java | 2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++--------------
src/main/resources/application.yml | 3 +
src/main/java/com/zy/core/ServerBootstrap.java | 12 +++---
5 files changed, 81 insertions(+), 36 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 61b0415..aa03545 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -103,15 +103,32 @@
for (DevpSlave.Sta inSta : devp.getInSta()) {
// 鑾峰彇鏉$爜鎵弿浠俊鎭�
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+
if (barcodeThread == null) {
continue;
}
String barcode = barcodeThread.getBarcode();
-
-
- if (!Cools.isEmpty(barcode)) {
+ //9998閫�鍥烇紝9996绌烘澘
+ if (!Cools.isEmpty(barcode) && (staProtocol.getWorkNo() != 9998 || staProtocol.getWorkNo() != 9996)) {
log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ staProtocol.setWorkNo((short) 9998);
+ staProtocol.setStaNo((short)14);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ // led 寮傚父鏄剧ず
+ if (ledThread != null) {
+ String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
continue;
}
} else {
@@ -120,13 +137,7 @@
// 鑾峰彇鍏ュ簱绔欎俊鎭�
// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
+
// 鍏ュ嚭搴撴ā寮忓垽鏂�
// if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
@@ -139,7 +150,7 @@
&& staProtocol.isLoading()
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
- && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
+ && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997)
&& staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) {
// if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
@@ -197,7 +208,18 @@
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
} else {
+ staProtocol.setWorkNo((short) 9998);
+ staProtocol.setStaNo((short)14);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (ledThread != null) {
+ String errorMsg = jsonObject.getString("msg");
+ if (!Cools.isEmpty(errorMsg)) {
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+ }
+ }
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
+
}
@@ -339,18 +361,7 @@
for (DevpSlave.Sta pickSta : devp.getPickSta()) {
// // 鑾峰彇鏉$爜鎵弿浠俊鎭�
BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
- if (barcodeThread == null) {
- continue;
- }
- String barcode = barcodeThread.getBarcode();
- if(!Cools.isEmpty(barcode)) {
- log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
- if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
- continue;
- }
- } else {
- continue;
- }
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
// 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
@@ -360,6 +371,32 @@
} else {
staProtocol = staProtocol.clone();
}
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+
+ if(!Cools.isEmpty(barcode) && (staProtocol.getWorkNo() != 9998 || staProtocol.getWorkNo() != 9996)) {
+ log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
+ if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ staProtocol.setWorkNo((short) 9998);
+ staProtocol.setStaNo((short)14);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ // led 寮傚父鏄剧ず
+ if (ledThread != null) {
+ String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
+ MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));
+ }
+ continue;
+ }
+ } else {
+ continue;
+ }
+
+
+
+
// // 鍏ュ嚭搴撴ā寮忓垽鏂�
// if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; }
@@ -368,10 +405,11 @@
&& staProtocol.isLoading()
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
- && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
+ && ( staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9997)
&& staProtocol.isPakMk()) {
-// WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
- WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+
+ WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
+// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
if (wrkMast == null) {
// 鏃犳嫞鏂欐暟鎹�
continue;
@@ -1269,8 +1307,12 @@
}
// 绔欑偣鏉′欢鍒ゆ柇
- if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
- && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() > 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) {
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && staProtocol.isEmptyMk()
+ && (staProtocol.getWorkNo() == 9996)
+ && staProtocol.isPakMk()) {
try {
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index e0ae15b..ef958a5 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -96,12 +96,12 @@
SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
}
// 鍒濆鍖朙ED绾跨▼
-// log.info("鍒濆鍖朙ED绾跨▼...................................................");
-// for (LedSlave led : slaveProperties.getLed()) {
-// LedThread ledThread = new LedThread(led);
-// new Thread(ledThread).start();
-// SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
-// }
+ log.info("鍒濆鍖朙ED绾跨▼...................................................");
+ for (LedSlave led : slaveProperties.getLed()) {
+ LedThread ledThread = new LedThread(led);
+ new Thread(ledThread).start();
+ SlaveConnection.put(SlaveType.Led, led.getId(), ledThread);
+ }
// 鍒濆鍖栫绉ょ嚎绋�
// log.info("鍒濆鍖栫绉ょ嚎绋�...................................................");
// for (Slave scale : slaveProperties.getScale()) {
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index ad33be5..4b78c42 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -34,6 +34,8 @@
private Integer barcode;
+ private Integer led;
+
}
}
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index 675e0e3..c1772a0 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -80,7 +80,7 @@
break;
// 鍐欐暟鎹� 娑叉櫠
case 3:
- write7((List<LedCommand>)task.getData());
+ error((String)task.getData());
break;
// 澶嶄綅 娑叉櫠
case 4:
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 29dfddf..f50d182 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -151,6 +151,7 @@
inSta[0]:
staNo: 15
barcode: ${wcs-slave.barcode[0].id}
+ led: ${wcs-slave.led[0].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
staNo: 15
@@ -170,7 +171,7 @@
# LED1
led[0]:
id: 1
- ip: 10.10.10.201
+ ip: 10.10.10.81
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
staArr: 15
--
Gitblit v1.9.1