From 6274f4380453d9e2855f5e13645877852f020600 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期二, 16 五月 2023 22:33:11 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/model/MatDto.java | 6 +-
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 73 ++++++++++++++++++++++++
src/main/java/com/zy/core/thread/LedThread.java | 2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 16 +++--
src/main/webapp/views/console.html | 12 ++--
src/main/java/com/zy/core/model/command/LedCommand.java | 2
src/main/resources/application.yml | 4
src/main/java/com/zy/core/ServerBootstrap.java | 13 +++-
8 files changed, 105 insertions(+), 23 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 079cd36..23338fa 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -121,11 +121,11 @@
}
} else {
// led 寮傚父鏄剧ず
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
- if (ledThread != null) {
- String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
- }
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+// if (ledThread != null) {
+// String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
+// MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+// }
continue;
}
@@ -199,7 +199,7 @@
.build()
.doPost();
JSONObject jsonObject = JSON.parseObject(response);
-// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
// Integer code = jsonObject.getInteger("code");
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
@@ -208,6 +208,7 @@
staProtocol.setWorkNo(dto.getWorkNo().shortValue());
staProtocol.setStaNo(dto.getStaNo().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
+ ledThread.errorReset();
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -1486,6 +1487,7 @@
}
ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
ledCommand.setStaNo(wrkMast.getStaNo());
+ ledCommand.setBarcode(wrkMast.getBarcode());
if (wrkMast.getIoType() != 110) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
wrkDetls.forEach(wrkDetl -> {
@@ -1561,7 +1563,7 @@
// led鏄剧ず榛樿鍐呭
if (reset) {
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
- News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触1565锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
}
}
}
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index e5b625b..19322ad 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -9,7 +9,7 @@
public class MatDto {
// 鐗╂枡缂栧彿
- private String matNo;
+ private String matnr;
// 鐗╂枡鍚嶇О
private String maknx;
@@ -20,8 +20,8 @@
public MatDto() {
}
- public MatDto(String matNo, String maknx, Double count) {
- this.matNo = matNo;
+ public MatDto(String matnr, String maknx, Double count) {
+ this.matnr = matnr;
this.maknx = maknx;
this.count = count;
}
diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java
index 062a29f..817c710 100644
--- a/src/main/java/com/zy/core/ServerBootstrap.java
+++ b/src/main/java/com/zy/core/ServerBootstrap.java
@@ -92,12 +92,17 @@
log.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼...................................................");
for (Slave barcode : slaveProperties.getBarcode()) {
BarcodeThread barcodeThread = new BarcodeThread(barcode);
- if(barcode.getId() > 6)
- {//1鍒�6鍙锋壂鐮佸櫒鏁版嵁浠嶱LC涓幏鍙栵紝鏃犻渶start
- new Thread(barcodeThread).start();
- }
+ new Thread(barcodeThread).start();
SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
}
+// for (Slave barcode : slaveProperties.getBarcode()) {
+// BarcodeThread barcodeThread = new BarcodeThread(barcode);
+// if(barcode.getId() > 6)
+// {//1鍒�6鍙锋壂鐮佸櫒鏁版嵁浠嶱LC涓幏鍙栵紝鏃犻渶start
+// new Thread(barcodeThread).start();
+// }
+// SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
+// }
// 鍒濆鍖朙ED绾跨▼
log.info("鍒濆鍖朙ED绾跨▼...................................................");
for (LedSlave led : slaveProperties.getLed()) {
diff --git a/src/main/java/com/zy/core/model/command/LedCommand.java b/src/main/java/com/zy/core/model/command/LedCommand.java
index 36685e8..0a31d46 100644
--- a/src/main/java/com/zy/core/model/command/LedCommand.java
+++ b/src/main/java/com/zy/core/model/command/LedCommand.java
@@ -25,6 +25,8 @@
private String sourceLocNo;
+ private String barcode;
+
private List<MatDto> matDtos = new ArrayList<>();
private boolean emptyMk = false;
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index d735a76..fbf55fc 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -85,7 +85,7 @@
sb.append("鐩爣绔欙細").append(command.getStaNo()).append("\n");
if (!command.isEmptyMk()) {
for (MatDto matDto : command.getMatDtos()) {
- sb.append(matDto.getMatNo()).append("-").append(matDto.getMaknx()).append("\n");
+ sb.append(matDto.getMatnr()).append("-").append(matDto.getMaknx()).append("\n");
}
}
sb.append("\n");
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 7bb8e27..1aa95ab 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -232,6 +232,37 @@
log.error("鍫嗗灈鏈哄啓鍏ュ懡浠や负绌�");
return false;
}
+ // 鍚戝爢鍨涙満鍙戜换鍔″墠鐨勫爢鍨涙満鐘舵��
+ try{
+ OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24);
+ if (resultRead.IsSuccess) {
+ CrnCommand one = new CrnCommand();
+ one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
+ one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
+ one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
+ one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
+ one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
+ one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
+ one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
+ one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
+ if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
+ || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
+ || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
+ || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
+ ){
+ log.error("涓嬪彂鍓嶏細[id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+ log.error("鍫嗗灈鏈哄懡浠ゅ洖璇诲け璐ュ悗锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
+ MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
+ Thread.sleep(100);
+ readStatus();
+ return false;
+ } else {
+ log.info("涓嬪彂鍓嶏細[id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+ }
+ }
+ }catch (Exception e){
+ log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
+ }
// convertRow(command);
command.setCrnNo(slave.getId());
// short[] array = new short[10];
@@ -248,6 +279,48 @@
array[9] = command.getCommand();
array[10] = command.getLocType1(); //鏂板璐х墿绫诲瀷涓嬪彂
OperateResult result = siemensNet.Write("DB100.0", array);
+ log.info("鍫嗗灈鏈哄懡浠や笅鍙慬id:{}] >>>>> {}", slave.getId(), array);
+
+ if(!result.IsSuccess){
+ log.error("鍐欏叆鍫嗗灈鏈簆lc鏁版嵁澶辫触锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
+ MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
+ Thread.sleep(100);
+ readStatus();
+ return false;
+ }
+
+ //鍫嗗灈鏈轰换鍔″啓鍏ュ悗锛屽洖璇讳竴娆★紝鐪嬫槸鍚︽垚鍔�
+ Thread.sleep(200);
+ try{
+ OperateResultExOne<byte[]> resultRead = siemensNet.Read("DB100.0", (short) 24);
+ if (resultRead.IsSuccess) {
+ CrnCommand one = new CrnCommand();
+ one.setTaskNo(siemensNet.getByteTransform().TransInt16(resultRead.Content, 2));
+ one.setTaskMode(siemensNet.getByteTransform().TransInt16(resultRead.Content, 4));
+ one.setSourcePosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 6));
+ one.setSourcePosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 8));
+ one.setSourcePosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 10));
+ one.setDestinationPosX(siemensNet.getByteTransform().TransInt16(resultRead.Content, 12));
+ one.setDestinationPosY(siemensNet.getByteTransform().TransInt16(resultRead.Content, 14));
+ one.setDestinationPosZ(siemensNet.getByteTransform().TransInt16(resultRead.Content, 16));
+ if (!command.getTaskNo().equals(one.getTaskNo()) || !command.getTaskMode().equals(one.getTaskMode())
+ || !command.getSourcePosX().equals(one.getSourcePosX()) || !command.getSourcePosY().equals(one.getSourcePosY())
+ || !command.getSourcePosZ().equals(one.getSourcePosZ()) || !command.getDestinationPosX().equals(one.getDestinationPosX())
+ || !command.getDestinationPosY().equals(one.getDestinationPosY()) || !command.getDestinationPosZ().equals(one.getDestinationPosZ())
+ ){
+ log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲け璐id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+ log.error("鍫嗗灈鏈哄懡浠ゅ洖璇诲け璐ュ悗锛岄噸鏂版坊鍔犱换鍔″埌闃熷垪 ===>> [id:{}],{}", slave.getId(), JSON.toJSON(command));
+ MessageQueue.offer(SlaveType.Crn, slave.getId(), new Task(2, command));
+ Thread.sleep(100);
+ readStatus();
+ return false;
+ } else {
+ log.info("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇绘垚鍔焄id:{}] >>>>> 鍐欏叆[{}],===>>鍥炶[{}]", slave.getId(), JSON.toJSON(command),JSON.toJSON(one));
+ }
+ }
+ }catch (Exception e){
+ log.error("鍫嗗灈鏈哄懡浠ゅ湴鍧�鍐欏叆鍚庡洖璇诲嚭閿�");
+ }
if (command.getAckFinish() == 0) {
short commandFinish = 1;
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 78851a1..328c002 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -139,14 +139,14 @@
# LED1
led[0]:
id: 1
- ip: 10.10.10.221
+ ip: 10.10.10.220
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
staArr: 100
# LED2
led[1]:
id: 2
- ip: 10.10.10.222
+ ip: 10.10.10.221
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
staArr: 103
\ No newline at end of file
diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html
index 8d69b6c..b3148e3 100644
--- a/src/main/webapp/views/console.html
+++ b/src/main/webapp/views/console.html
@@ -607,12 +607,12 @@
offSet = 1710; //145
- crnEl.animate({left: offSet + 'px'}, 1000);
- // if(crns[i].bay === 1){
- // crnEl.animate({left: offSet + 'px'}, 1000);
- // } else {
- // crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + 'px'}, 1000);
- // }
+ // crnEl.animate({left: offSet + 'px'}, 1000);
+ if(crns[i].bay === 1){
+ crnEl.animate({left: offSet + 'px'}, 1000);
+ } else {
+ crnEl.animate({left: (offSet - unit + (crns[i].bay * unit)) + 'px'}, 1000);
+ }
}
} else if (res.code === 403) {
--
Gitblit v1.9.1