From 204e15023a4443ac2849f732763ee41ee2918f06 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期二, 07 三月 2023 13:16:47 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/model/MatDto.java | 36 ++++++-
src/main/java/com/zy/core/thread/LedThread.java | 10 ++
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 91 ++++++++++++------
src/main/java/com/zy/asrs/controller/MonitorController.java | 22 ++++
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 71 ++++++++-----
src/main/resources/application.yml | 35 +++++-
6 files changed, 192 insertions(+), 73 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index df73a28..51fdd09 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -62,7 +62,17 @@
* 鑾峰彇鍏朵粬淇℃伅
*/
@GetMapping("/other")
- public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer ledId) {
+ public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer sta) {
+ Integer ledId = 0;
+ for (LedSlave led : slaveProperties.getLed()) {
+ for (Integer staNo : led.getStaArr()) {
+ if (staNo.equals(sta)) {
+ ledId = led.getId();
+ break;
+ }
+ }
+ }
+
Double xSpeed = 0.0D;
Double ySpeed = 0.0D;
Double zSpeed = 0.0D;
@@ -105,7 +115,15 @@
// 鑾峰彇杈撻�佺嚎plc绾跨▼
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
String ledContent = ledThread==null?"":ledThread.getWorkNos().toString();
-// ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀";
+ if (!(xSpeed<127)){
+ xSpeed=0.0;
+ }
+ if (!(ySpeed<127)){
+ ySpeed=0.0;
+ }
+ if (!(zSpeed<127)){
+ zSpeed=0.0;
+ }
return R.ok(
Cools.add("xSpeed", Arith.multiplys(1, Math.abs(xSpeed), 1)) // 琛岃蛋閫熷害
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 c7a5445..7a79790 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -120,39 +120,37 @@
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999))
&& staProtocol.isPakMk()) {
-
// 灏哄妫�娴嬪紓甯�
boolean back = false;
- String errMsg = "";
+ String errMsg = "寮傚父锛�";
if (staProtocol.isFrontErr()) {
- errMsg = "鍓嶈秴闄�";
+ errMsg = errMsg+"鍓嶈秴闄愶紱";
back = true;
}
- if (!back && staProtocol.isBackErr()) {
- errMsg = "鍚庤秴闄�";
+ if (staProtocol.isBackErr()) {
+ errMsg = errMsg+"鍚庤秴闄�";
back = true;
}
- if (!back && staProtocol.isHighErr()) {
- errMsg = "楂樿秴闄�";
+ if (staProtocol.isHighErr()) {
+ errMsg = errMsg+"楂樿秴闄�";
back = true;
}
- if (!back && staProtocol.isLeftErr()) {
- errMsg = "宸﹁秴闄�";
+ if (staProtocol.isLeftErr()) {
+ errMsg = errMsg+"宸﹁秴闄�";
back = true;
}
- if (!back && staProtocol.isRightErr()) {
- errMsg = "鍙宠秴闄�";
+ if (staProtocol.isRightErr()) {
+ errMsg = errMsg+"鍙宠秴闄�";
back = true;
}
- if (!back && staProtocol.isWeightErr()) {
- errMsg = "瓒呴噸";
+ if (staProtocol.isWeightErr()) {
+ errMsg = errMsg+"瓒呴噸";
back = true;
}
- if (!back && staProtocol.isBarcodeErr()) {
- errMsg = "鎵爜澶辫触";
+ if (staProtocol.isBarcodeErr()) {
+ errMsg = errMsg+"鎵爜澶辫触";
back = true;
}
-
// 閫�鍥�
if (back) {
News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
@@ -177,7 +175,7 @@
String barcode = barcodeThread.getBarcode();
if(!Cools.isEmpty(barcode)) {
// News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) {
+ if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)|| "00000000".equals(barcode)) {
staProtocol.setWorkNo((short) 32002);
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -2388,18 +2386,11 @@
break;
}
ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
+ ledCommand.setLocNo(wrkMast.getLocNo());
ledCommand.setStaNo(wrkMast.getStaNo());
- if (wrkMast.getIoType() != 110) {
+ if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
- try {
- WrkDetl wrkDetl = wrkDetls.get(0);
- if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- OrderDetl orderDetl = orderDetlMapper.selectItemNoneOfBatch(wrkDetl.getOrderNo(), wrkDetl.getMatnr());
- ledCommand.getMatDtos().add(new MatDto(orderDetl));
- }
- } catch (Exception e) {
- News.error("led execute fail", e);
- }
+ wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getSpecs())));
}
commands.add(ledCommand);
}
@@ -2412,9 +2403,20 @@
}
// 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
if (!commands.isEmpty()) {
- if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
- News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
- continue;
+ if (led.getId()>3){
+ if (!MessageQueue.offer(SlaveType.Led, led.getId()-3, new Task(1, commands))) {
+ log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId()-3, led.getIp(), led.getPort());
+ continue;
+ }else {
+ ledThread.setLedMk(false);
+ }
+ }else {
+ if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
+ log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ continue;
+ }else {
+ ledThread.setLedMk(false);
+ }
}
}
@@ -2444,6 +2446,35 @@
*/
public void ledReset() {
for (LedSlave led : slaveProperties.getLed()) {
+
+ // 鑾峰彇杈撻�佺嚎plc绾跨▼
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
+ // 鍛戒护闆嗗悎
+ boolean reset = true;
+ for (Integer staNo : led.getStaArr()) {
+ // 鑾峰彇鍙夎溅绔欑偣
+ StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ if (staProtocol == null) {
+ continue;
+ }
+ if (staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) {
+ reset = false;
+ break;
+ }
+ }
+ // 鑾峰彇led绾跨▼
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+ // led鏄剧ず榛樿鍐呭
+ if (reset && !ledThread.isLedMk()) {
+ ledThread.setLedMk(true);
+ if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
+ News.error(" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ } else {
+
+ }
+ }
+ }
+ for (LedSlave led : slaveProperties.getLed()) {
// 鑾峰彇杈撻�佺嚎plc绾跨▼
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
// 鍛戒护闆嗗悎
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index f3c808f..358e924 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -13,6 +13,18 @@
private String matnr;
// 鐗╂枡鍚嶇О
+ private String maknx;
+
+ // 搴撲綅瑙勬牸
+ private String specs;
+
+ // 鐗╂枡鏁伴噺
+ private Double count;
+
+ // 搴撲綅鏁伴噺
+ private Double total;
+
+ // 鐗╂枡鍚嶇О
private String model;
// 鏉$爜
@@ -20,12 +32,6 @@
// 璁㈠崟缂栧彿
private String orderNo;
-
- // 宸插嚭
- private Double count;
-
- // 鎬绘暟閲�
- private Double total;
public MatDto() {
}
@@ -38,4 +44,22 @@
this.count = orderDetl.getQty();
this.total = orderDetl.getAnfme();
}
+ public MatDto(String matNo, String maknx, Double count) {
+ this.matnr = matNo;
+ this.maknx = maknx;
+ this.count = count;
+ }
+ public MatDto(String matNo, String maknx, Double count,String specs) {
+ this.specs = specs;
+ this.matnr = matNo;
+ this.maknx = maknx;
+ this.count = count;
+ }
+ public MatDto(String matNo, String maknx, Double count,Double total,String specs) {
+ this.specs = specs;
+ this.matnr = matNo;
+ this.maknx = maknx;
+ this.count = count;
+ this.total = total;
+ }
}
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index 1581f7a..eb261b6 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -9,6 +9,10 @@
import com.zy.core.model.command.LedCommand;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
+import onbon.bx05.Bx5GScreenClient;
+import onbon.bx05.area.TextCaptionBxArea;
+import onbon.bx05.file.ProgramBxFile;
+import onbon.bx05.utils.DisplayStyleFactory;
import java.util.HashSet;
import java.util.List;
@@ -23,6 +27,12 @@
private Slave slave;
private Set<Integer> workNos = new HashSet<>();
+ private Bx5GScreenClient screen;
+ ProgramBxFile pf;
+ TextCaptionBxArea area;
+ DisplayStyleFactory.DisplayStyle[] styles = DisplayStyleFactory.getStyles().toArray(new DisplayStyleFactory.DisplayStyle[0]);
+ private boolean ledMk = false;
+ private boolean resetStatus = false; // 澶嶄綅鐘舵��
// 鏄剧ず鍣�
private StringBuffer stringBuffer = new StringBuffer();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index edce7b1..408002a 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -181,34 +181,49 @@
charge1 = status[0];
}
-// // 澶栧舰妫�娴� - 102
-// Thread.sleep(50);
-// OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB102.129", (short)1);
-// if (result4.IsSuccess) {
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
-// StaProtocol staProtocol = station.get(102);
-// staProtocol.setFrontErr(status[0]);
-// staProtocol.setBackErr(status[1]);
-// staProtocol.setHighErr(status[2]);
-// staProtocol.setLeftErr(status[3]);
-// staProtocol.setRightErr(status[4]);
-// staProtocol.setWeightErr(status[5]);
-// staProtocol.setBarcodeErr(status[6]);
-// }
-// // 澶栧舰妫�娴� - 203
-// Thread.sleep(50);
-// OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB102.130", (short)1);
-// if (result5.IsSuccess) {
-// boolean[] status = siemensS7Net.getByteTransform().TransBool(result5.Content, 0, 1);
-// StaProtocol staProtocol = station.get(202);
-// staProtocol.setFrontErr(status[0]);
-// staProtocol.setBackErr(status[1]);
-// staProtocol.setHighErr(status[2]);
-// staProtocol.setLeftErr(status[3]);
-// staProtocol.setRightErr(status[4]);
-// staProtocol.setWeightErr(status[5]);
-// staProtocol.setBarcodeErr(status[6]);
-// }
+ // 澶栧舰妫�娴� - 102
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result102 = siemensS7Net.Read("DB102.110", (short)1);
+ if (result102.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result102.Content, 0, 1);
+ StaProtocol staProtocol = station.get(102);
+ staProtocol.setFrontErr(status[0]);// 鍓嶈秴闄�
+ staProtocol.setBackErr(status[1]);// 鍚庤秴闄�
+ staProtocol.setHighErr(status[2]);// 楂樿秴闄�
+ staProtocol.setLeftErr(status[3]);// 宸﹁秴闄�
+ staProtocol.setRightErr(status[4]);// 鍙宠秴闄�
+ staProtocol.setWeightErr(status[5]); // 瓒呴噸
+ staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触
+ }
+ // 澶栧舰妫�娴� - 201
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result201 = siemensS7Net.Read("DB102.112", (short)1);
+ if (result201.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result201.Content, 0, 1);
+ StaProtocol staProtocol = station.get(201);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+ // 澶栧舰妫�娴� - 301
+ Thread.sleep(50);
+ OperateResultExOne<byte[]> result301 = siemensS7Net.Read("DB102.114", (short)1);
+ if (result301.IsSuccess) {
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result301.Content, 0, 1);
+ StaProtocol staProtocol = station.get(301);
+ staProtocol.setFrontErr(status[0]);
+ staProtocol.setBackErr(status[1]);
+ staProtocol.setHighErr(status[2]);
+ staProtocol.setLeftErr(status[3]);
+ staProtocol.setRightErr(status[4]);
+ staProtocol.setWeightErr(status[5]);
+ staProtocol.setBarcodeErr(status[6]);
+ }
+
if (result.IsSuccess && result1.IsSuccess) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 251f3c5..e6e65d7 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -183,21 +183,42 @@
# LED1
led[0]:
id: 1
- ip: 10.10.10.231
+ ip: 10.10.10.241
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
staArr: 102
- # LED1
+ # LED2
led[1]:
id: 2
- ip: 10.10.10.232
+ ip: 10.10.10.242
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 202
- # LED1
+ staArr: 201
+ # LED3
led[2]:
id: 3
- ip: 10.10.10.233
+ ip: 10.10.10.243
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 302
+ staArr: 301
+ # LED1
+ led[3]:
+ id: 4
+ ip: 10.10.10.241
+ port: 5005
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staArr: 100
+ # LED2
+ led[4]:
+ id: 5
+ ip: 10.10.10.242
+ port: 5005
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staArr: 200
+ # LED3
+ led[5]:
+ id: 6
+ ip: 10.10.10.243
+ port: 5005
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staArr: 300
--
Gitblit v1.9.1